bootstrap: add bootstrap_sync option.
[gnulib.git] / ChangeLog
1 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
2
3         bootstrap: add bootstrap_sync option.
4         See discussion at
5         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
6         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
7         * build-aux/bootstrap: Accept --bootstrap-sync to update
8         bootstrap if it is not identical to the local gnulib's
9         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
10         enable this by default.  Accept --no-bootstrap-sync to disable
11         it.
12
13 2010-11-20  Bruno Haible  <bruno@clisp.org>
14
15         Ensure that <features.h> is included before __GLIBC__ is tested.
16         * lib/printf-parse.h: Include <features.h>.
17         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
18         Reported by Mike Frysinger <vapier@gentoo.org>.
19
20         Ensure that <features.h> is included before __GLIBC__ is tested.
21         * lib/wchar.in.h: Include <features.h>.
22         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
23         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
24         Reported by Mike Frysinger <vapier@gentoo.org>.
25
26         Ensure that <features.h> is included before __GLIBC__ is tested.
27         * lib/arpa_inet.in.h: Include <features.h>.
28         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
29         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
30         Reported by Mike Frysinger <vapier@gentoo.org>.
31
32         Ensure that <features.h> is included before __GLIBC__ is tested.
33         * build-aux/link-warning.h: Include <features.h>.
34         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
35         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
36         Reported by Mike Frysinger <vapier@gentoo.org>.
37
38         Ensure that <features.h> is included before __GLIBC__ is tested.
39         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
40         Reported by Mike Frysinger <vapier@gentoo.org>.
41
42 2010-11-20  Bruno Haible  <bruno@clisp.org>
43
44         memmem: Fix autoconf test.
45         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
46
47 2010-11-20  Bruno Haible  <bruno@clisp.org>
48
49         Port to uClibc.
50         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
51         * lib/fcntl.in.h: Likewise.
52         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
53         * lib/mbrtowc.c (mbrtowc): Likewise.
54         * lib/relocatable.c (find_shared_library_fullname): Likewise.
55         * lib/strerror_r.c: Likewise.
56         * lib/unistr/u8-strnlen.c: Likewise.
57         * lib/vasnprintf.c (decimal_point_char): Likewise.
58         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
59         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
60         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
61         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
62         * tests/test-sigaction.c (handler, main): Likewise.
63         * lib/freading.h: Treat uClibc like a non-glibc platform.
64         * lib/freading.c: Likewise.
65         * lib/gettext.h: Likewise.
66         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
67         Likewise.
68         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
69         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
70         * lib/propername.c (proper_name_utf8): Likewise.
71         * lib/spawn.in.h: Likewise.
72         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
73         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
74         mem_cd_iconveh_internal): Likewise.
75         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
76         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
77         strstr, strcasestr): Likewise.
78         * lib/unicodeio.c (unicode_to_mb): Likewise.
79         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
80         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
81         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
82         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
83         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
84         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
85         * lib/unistr/u8-stpncpy.c: Likewise.
86         * lib/vasnprintf.c (VASNPRINTF): Likewise.
87         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
88         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
89         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
90         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
91         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
92         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
93         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
94         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
95         Likewise.
96         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
97         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
98         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
99         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
100         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
101         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
102         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
103         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
104         * tests/test-getopt.h (OPTIND_MIN): Likewise.
105         * tests/test-striconveha.c (main): Likewise.
106         * tests/test-vasnprintf-posix.c (test_function): Likewise.
107         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
108         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
109         * doc/posix-functions/getline.texi: Likewise.
110         Reported by Mike Frysinger <vapier@gentoo.org>.
111
112 2010-11-20  Bruno Haible  <bruno@clisp.org>
113
114         nproc: Fix condition.
115         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
116         HAVE_PTHREAD_AFFINITY_NP.
117
118 2010-11-20  Bruno Haible  <bruno@clisp.org>
119
120         Fix a comment.
121         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
122
123 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
124
125         ftoastr: don't assume snprintf
126         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
127         Implement a subset of snprintf here, by using sprintf safely.
128         * modules/ftoastr (Depends-on): Remove snprintf.
129
130 2010-11-19  Jim Meyering  <meyering@redhat.com>
131
132         test-rename.h: fix compilation failure
133         * tests/test-rename.h (test_rename): Add omitted "}".
134
135 2010-11-17  Jim Meyering  <meyering@redhat.com>
136
137         maint.mk: add a URL discussing the no-@acronym policy
138         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
139
140 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
141
142         ftoastr: depend on snprintf, improve comments
143         * lib/ftoastr.c: Also mention Loitsch's draft.
144         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
145         needed in the current implementation, but it might simplify
146         speeding up the code later.
147         * modules/ftoastr: Depend on snprintf; this improves portability.
148         Suggested by Bruno Haible in the same email.
149
150         ftoastr: port to hosts lacking strtof and strtold
151         Problem reported by Bruno Haible in
152         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
153         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
154         environment and strtold (and presumably strtof) are not available.
155         * modules/ftoastr (Files): Add m4/c-strtod.m4.
156         (configure.ac): Require gl_C99_STRTOLD.
157
158 2010-11-18  Bruno Haible  <bruno@clisp.org>
159
160         c-strtold: Avoid link error on AIX 7.
161         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
162         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
163         (gl_C_STRTOLD): Test whether strtold_l exists.
164         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
165
166 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
167
168         intprops: new macro INT_BITS_STRLEN_BOUND
169         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
170         ftoastr.h.  This exposes an internal of intprops.h that was formerly
171         not exposed.  Also, it uses a slightly tighter bound than before;
172         though this makes no practical difference, we might as well be as
173         tight as we easily can.
174
175         ftoastr: new module, for lossless conversion of floats to short strings
176         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
177         * modules/ftoastr: New files.
178
179 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
180
181         bootstrap: port to Solaris sed
182         * build-aux/bootstrap (get_version): Port to Solaris sed.
183         See Ralf Wildenhues's note in
184         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
185
186 2010-11-14  Jim Meyering  <meyering@redhat.com>
187
188         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
189         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
190         and move definition closer to sole use.
191
192 2010-11-13  Jim Meyering  <meyering@redhat.com>
193
194         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
195         Now we require at least autoconf-2.59, which means the work-around
196         is no longer needed.
197         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
198         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
199         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
200         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
201         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
202
203 2010-11-13  Bruno Haible  <bruno@clisp.org>
204
205         rename, renameat: Avoid test failures at NFS mounted locations.
206         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
207         functions.
208         (test_rename): Use assert_nonexistent.
209         * tests/test-rename.c: Include <dirent.h>.
210         * tests/test-renameat.c: Likewise.
211         Reported by Gary V. Vaughan <gary@gnu.org>.
212
213         rename, renameat: Document Linux bug with NFS
214         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
215         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
216         * doc/posix-functions/renameat.texi: Likewise.
217         Suggested by Eric Blake.
218
219 2010-11-13  Bruno Haible  <bruno@clisp.org>
220
221         rename test: Add comments.
222         * tests/test-rename.h (test_rename): Add structure and comments.
223
224 2010-11-13  Eric Blake  <eblake@redhat.com>
225
226         maintainer-makefile: cover a few more files
227         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
228         scripts generated within C files, for libvirt.
229
230 2010-11-13  Bruno Haible  <bruno@clisp.org>
231
232         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
233         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
234         character, return the number of bytes that belong together, not always
235         1.
236         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
237         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
238         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
239         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
240         number of bytes of an invalid character.
241         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
242         (main): Invoke it.
243         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
244         results.
245         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
246         malformed byte sequences.
247         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
248         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
249         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
250         Reported by Ben Pfaff and Paolo Bonzini.
251
252 2010-11-13  Bruno Haible  <bruno@clisp.org>
253
254         openat: Work around glibc bug with fchownat() and empty file names.
255         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
256         (gl_FUNC_FCHOWNAT): Invoke it.
257         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
258         * doc/posix-functions/fchownat.texi: Document the glibc bug.
259         Reported by Gary V. Vaughan <gary@gnu.org>.
260
261 2010-11-13  Bruno Haible  <bruno@clisp.org>
262
263         openat: Ensure autoconf macro ordering.
264         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
265         gl_USE_SYSTEM_EXTENSIONS.
266         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
267
268 2010-11-13  Bruno Haible  <bruno@clisp.org>
269
270         Update comments.
271         * lib/unistr/u8-check.c: Update file name in comments.
272         * lib/unistr/u8-mblen.c: Likewise.
273         * lib/unistr/u8-prev.c: Likewise.
274         * lib/unistr/u8-strmblen.c: Likewise.
275         * lib/unistr/u8-strmbtouc.c: Likewise.
276
277 2010-11-13  Jim Meyering  <meyering@redhat.com>
278
279         tests: avoid test failure on Solaris 10 due to lack of PATH export
280         * tests/test-update-copyright.sh: Don't forget to export PATH.
281
282         init.sh: ensure that IFS is defined, just in case...
283         * tests/init.sh (setup_): Ensure that IFS is defined,
284         so that saving and restoring it works as expected.  This
285         appears to be useful at least for an old version of dash
286         from a long time ago (RH 6).  See here for details:
287         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
288
289         maint.mk: tighten "test a == b" check
290         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
291         test to files that contain something like #!/bin/sh.
292         Without this, coreutils would get two false positives in
293         the comments of C source files.
294
295 2010-11-12  Eric Blake  <eblake@redhat.com>
296
297         bootstrap: fix typo in previous attempt
298         * build-aux/bootstrap (buildreq): Correct the grouping.
299         Reported by Paul Eggert.
300
301         maintainer-makefile: prohibit test x == x
302         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
303         Based on a report by Matthias Bolte.
304
305         bootstrap: allow FreeBSD gzip
306         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
307         which has no '.' and goes to stderr.
308         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
309         Reported by Matthias Bolte.
310
311         maintainer-makefile: check for i18n setup
312         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
313         will likely work.
314
315 2010-11-12  Bruno Haible  <bruno@clisp.org>
316
317         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
318         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
319         * lib/nanosleep.c (nanosleep): Likewise.
320
321 2010-11-11  Bruno Haible  <bruno@clisp.org>
322
323         fcntl-h: Fix for use of C++ on glibc systems.
324         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
325         also on glibc systems in C++ mode.
326         Reported by Gary V. Vaughan <gary@gnu.org>.
327
328 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
329
330         mknod: avoid false failure with dash
331         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
332
333 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
334
335         unlink: Fix "is it should" typo in diagnostic.
336         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
337         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
338
339 2010-11-11  Bruno Haible  <bruno@clisp.org>
340
341         Tests for module 'strerror_r-posix'.
342         * modules/strerror_r-posix-tests: New file.
343         * tests/test-strerror_r.c: New file.
344         * tests/test-string-c++.cc: Check the signature of strerror_r.
345
346         New module 'strerror_r-posix'.
347         * lib/string.in.h (strerror_r): New declaration.
348         * lib/strerror_r.c: New file.
349         * m4/strerror_r.m4: New file.
350         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
351         of strerror_r.
352         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
353         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
354         * modules/strerror_r-posix: New file.
355         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
356         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
357         * doc/posix-functions/strerror_r.texi: Mention the new module and the
358         portability problems.
359
360 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
361
362         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
363         line is also considered for output. Quoted function name in shell
364         command, so temporary files for functions like MyClass::operator()
365         are removed correctly without errors.
366
367 2010-11-09  Bruno Haible  <bruno@clisp.org>
368
369         * doc/posix-functions/strerror.texi: List more failing platforms.
370
371         * doc/posix-functions/strerror.texi: Add a comment.
372
373 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
374
375         fdopendir: fix bug on MacOS X when low on file descriptors
376
377         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
378         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
379         All callers changed.
380         (fdopendir): Invoke save_cwd at the top level, not after using
381         multiple dup() calls to use up file descriptors.  Then retry
382         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
383         less than the maximum number of open file descriptors, because
384         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
385         on Mac OS X 10.6.4 for tar 1.24
386         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
387         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
388         and for tar 1.25
389         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
390
391 2010-11-07  Bruno Haible  <bruno@clisp.org>
392
393         vasnprintf: Support I flag on glibc systems.
394         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
395         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
396         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
397         snprintf function.
398         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
399         glibc systems.
400         * tests/test-vasnprintf-posix3.c: New file.
401         * modules/vasnprintf-posix-tests (Files): Add it.
402         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
403
404 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
405
406         [html] Fix copy/paste bug: Use unique name for compiler warnings.
407         * MODULES.html.sh: For compiler warnings, use name
408         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
409
410 2010-11-05  Eric Blake  <eblake@redhat.com>
411
412         ceil, floor: avoid spurious failure with icc
413         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
414         [denormals-as-zero] when optimizing without -mieee-fp option.
415         * tests/test-floorf2.c (floorf_reference): Likewise.
416         * tests/test-ceilf1.c (dummy): New function.
417         (main): Use it to outsmart icc's optimization.
418         * tests/test-floorf1.c (dummy, main): Likewise.
419
420         tests: require working signbit
421         * modules/ceilf-tests (Depends-on): Add signbit.
422         * modules/ceill-tests (Depends-on): Likewise.
423         * modules/floorf-tests (Depends-on): Likewise.
424         * modules/floorl-tests (Depends-on): Likewise.
425         * modules/round-tests (Depends-on): Likewise.
426         * modules/roundf-tests (Depends-on): Likewise.
427         * modules/roundl-tests (Depends-on): Likewise.
428         * modules/trunc-tests (Depends-on): Likewise.
429         * modules/truncf-tests (Depends-on): Likewise.
430         * modules/truncl-tests (Depends-on): Likewise.
431
432         strtod: work around icc bug
433         * lib/strtod.c (minus_zero): Define to working value.
434         (strtod): Use it to avoid icc bug.
435
436         copysign: enhance tests
437         * modules/copysign-tests (Files): Add minus-zero.h.
438         * tests/test-copysign.c (main): Also test zeros.
439
440 2010-11-04  Eric Blake  <eblake@redhat.com>
441
442         ceil, floor, round, trunc: enhance tests of -0
443         * tests/test-ceilf1.c (main): Ensure correct sign of result.
444         * tests/test-ceill.c (main): Likewise.
445         * tests/test-floorf1.c (main): Likewise.
446         * tests/test-floorl.c (main): Likewise.
447         * tests/test-round1.c (main): Likewise.
448         * tests/test-roundf1.c (main): Likewise.
449         * tests/test-roundl.c (main): Likewise.
450         * tests/test-trunc1.c (main): Likewise.
451         * tests/test-truncf1.c (main): Likewise.
452         * tests/test-truncl.c (main): Likewise.
453
454 2010-11-04  Eric Blake  <eblake@redhat.com>
455
456         frexp, tests: work around ICC bug with -zero
457         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
458         works with more compilers.
459         * tests/minus-zero.h: New file.
460         * modules/ceilf-tests (Files): Include it.
461         * modules/ceill-tests (Files): Likewise.
462         * modules/floorf-tests (Files): Likewise.
463         * modules/floorl-tests (Files): Likewise.
464         * modules/frexp-nolibm-tests (Files): Likewise.
465         * modules/frexp-tests (Files): Likewise.
466         * modules/frexpl-nolibm-tests (Files): Likewise.
467         * modules/frexpl-tests (Files): Likewise.
468         * modules/isnan-tests (Files): Likewise.
469         * modules/isnand-nolibm-tests (Files): Likewise.
470         * modules/isnand-tests (Files): Likewise.
471         * modules/isnanf-nolibm-tests (Files): Likewise.
472         * modules/isnanf-tests (Files): Likewise.
473         * modules/isnanl-nolibm-tests (Files): Likewise.
474         * modules/isnanl-tests (Files): Likewise.
475         * modules/round-tests (Files): Likewise.
476         * modules/roundf-tests (Files): Likewise.
477         * modules/roundl-tests (Files): Likewise.
478         * modules/ldexpl-tests (Files): Likewise.
479         * modules/signbit-tests (Files): Likewise.
480         * modules/snprintf-posix-tests (Files): Likewise.
481         * modules/sprintf-posix-tests (Files): Likewise.
482         * modules/strtod-tests (Files): Likewise.
483         * modules/trunc-tests (Files): Likewise.
484         * modules/truncf-tests (Files): Likewise.
485         * modules/truncl-tests (Files): Likewise.
486         * modules/vsnprintf-posix-tests (Files): Likewise.
487         * modules/vsprintf-posix-tests (Files): Likewise.
488         * modules/vasnprintf-posix-tests (Files): Likewise.
489         * modules/vasprintf-posix-tests (Files): Likewise.
490         * tests/test-ceilf1.c (main): Use it.
491         * tests/test-ceill.c (main): Likewise.
492         * tests/test-floorf1.c (main): Likewise.
493         * tests/test-floorl.c (main): Likewise.
494         * tests/test-frexp.c (main): Likewise.
495         * tests/test-frexpl.c (main): Likewise.
496         * tests/test-isnan.c (main): Likewise.
497         * tests/test-isnand.h (main): Likewise.
498         * tests/test-isnanf.h (main): Likewise.
499         * tests/test-isnanl.h (main): Likewise.
500         * tests/test-ldexpl.c (main): Likewise.
501         * tests/test-round.c (main): Likewise.
502         * tests/test-roundf.c (main): Likewise.
503         * tests/test-roundl.c (main): Likewise.
504         * tests/test-signbit.c (test_signbitf, test_signbitd)
505         (test_signbitl): Likewise.
506         * tests/test-snprintf-posix.h (test_function): Likewise.
507         * tests/test-sprintf-posix.h (test_function): Likewise.
508         * tests/test-strtod.c (main): Likewise.
509         * tests/test-trunc1.c (main): Likewise.
510         * tests/test-truncf1.c (main): Likewise.
511         * tests/test-truncl.c (main): Likewise.
512
513         isnanl: work around icc bug
514         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
515
516 2010-11-03  Eric Blake  <eblake@redhat.com>
517
518         tests: fix compiler warnings
519         * tests/test-getopt.h (test_getopt): Fix condition.
520         * tests/test-getopt_long.h (test_getopt_long): Likewise.
521         * tests/test-pipe2.c (main): Likewise.
522         * tests/test-quotearg-simple.c (main): Avoid icc warning.
523
524         utimens: fix broken m4 test
525         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
526
527 2010-10-28  Bruno Haible  <bruno@clisp.org>
528
529         posix_spawn*, getdtablesize: Relax license.
530         * modules/posix_spawn (License): Change to LGPLv2+.
531         * modules/posix_spawnp (License): Likewise.
532         * modules/posix_spawn-internal (License): Likewise.
533         * modules/posix_spawnattr_init (License): Likewise.
534         * modules/posix_spawnattr_getflags (License): Likewise.
535         * modules/posix_spawnattr_setflags (License): Likewise.
536         * modules/posix_spawnattr_getpgroup (License): Likewise.
537         * modules/posix_spawnattr_setpgroup (License): Likewise.
538         * modules/posix_spawnattr_getschedparam (License): Likewise.
539         * modules/posix_spawnattr_setschedparam (License): Likewise.
540         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
541         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
542         * modules/posix_spawnattr_getsigdefault (License): Likewise.
543         * modules/posix_spawnattr_setsigdefault (License): Likewise.
544         * modules/posix_spawnattr_getsigmask (License): Likewise.
545         * modules/posix_spawnattr_setsigmask (License): Likewise.
546         * modules/posix_spawnattr_destroy (License): Likewise.
547         * modules/posix_spawn_file_actions_init (License): Likewise.
548         * modules/posix_spawn_file_actions_addclose (License): Likewise.
549         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
550         * modules/posix_spawn_file_actions_addopen (License): Likewise.
551         * modules/posix_spawn_file_actions_destroy (License): Likewise.
552         * modules/getdtablesize (License): Likewise.
553         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
554
555 2010-10-26  Bruno Haible  <bruno@clisp.org>
556
557         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
558         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
559         Cygwin and mingw.
560         Suggested by Eric Blake.
561
562 2010-10-26  Bruno Haible  <bruno@clisp.org>
563
564         stdio: Work around compilation error due to renameat() on Solaris 10.
565         * lib/stdio.in.h: Include <unistd.h> on Solaris.
566         * lib/renameat.c: Don't include <unistd.h> here.
567         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
568         Reported by Paul Eggert and Eric Blake.
569
570 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
571
572         renameat: port to Solaris 10, which declares renameat in unistd.h
573
574         * lib/renameat.c: Include unistd.h before stdio.h, because
575         Solaris 10 declares renameat in unistd.h.  Problem encountered
576         when building GNU tar 1.24 on Solaris 10.
577
578 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
579
580         fdopendir: fix C89 compilation
581         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
582         compilers.
583
584 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
585
586         inttostr: simplify by removing unnecessary redundancy
587         * lib/anytostr.c: Don't include verify.h.
588         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
589         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
590         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
591         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
592         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
593         Likewise.
594         * modules/inttostr (Depends-on): Remove 'verify'.
595
596 2010-10-23  Bruno Haible  <bruno@clisp.org>
597
598         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
599         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
600         Reported by Eric Blake.
601
602 2010-10-23  Bruno Haible  <bruno@clisp.org>
603
604         Tests: Fix LOCALE_JA on MirBSD 10.
605         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
606         to an UTF-8 locale.
607         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
608         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
609         Reported by Eric Blake.
610
611 2010-10-21  Bruno Haible  <bruno@clisp.org>
612
613         nl_langinfo test: Avoid test failure on NetBSD 5.
614         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
615         Reported by Eric Blake.
616
617 2010-10-21  Eric Blake  <eblake@redhat.com>
618
619         c-stack: work around libsigsegv 2.8 bug
620         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
621         overflow on at least PowerPC64.
622
623 2010-10-17  Bruno Haible  <bruno@clisp.org>
624
625         userspec: Drop redundant file.
626         * modules/userspec (Files): Remove lib/inttostr.h.
627
628 2010-10-17  Bruno Haible  <bruno@clisp.org>
629
630         nl_langinfo tests: Silence some warnings.
631         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
632         Reported by Jim Meyering.
633
634 2010-10-17  Bruno Haible  <bruno@clisp.org>
635
636         Make use of GCC's attribute __alloc_size__.
637         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
638         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
639         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
640         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
641         __alloc_size__.
642         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
643         Suggested by Jim Meyering.
644
645 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
646
647         bootstrap: anchor .gitignore entries.
648         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
649         with...
650         (insert_vc_ignore): ... this new function, which prepends `/' to
651         all .gitignore entries before passing them to
652         insert_sorted_if_absent.
653
654 2010-10-16  Bruno Haible  <bruno@clisp.org>
655
656         nextafter: Fix configure check.
657         * modules/nextafter (configure.ac): Correct expected prototype.
658
659 2010-10-16  Bruno Haible  <bruno@clisp.org>
660
661         termios: Update documentation.
662         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
663
664 2010-10-16  Bruno Haible  <bruno@clisp.org>
665
666         tests: Make them compile with TinyCC.
667         * tests/test-strstr.c (main): Remove parentheses around array
668         initializer.
669
670 2010-10-15  Eric Blake  <eblake@redhat.com>
671
672         ignore-value: make header idempotent
673         * lib/ignore-value.h: Add double-inclusion guards.
674         Reported by Stefan Berger.
675
676 2010-10-15  Jim Meyering  <meyering@redhat.com>
677
678         GNUmakefile: handle "stable" target, not "major"
679         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
680         lists in maint.mk and announce-gen.  Without this, "make stable"
681         would fail to ensure that $(VERSION) is up to date.
682
683 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
684
685         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
686         & co.
687
688 2010-10-14  Bruno Haible  <bruno@clisp.org>
689
690         vasnprintf: Don't set errno to 0.
691         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
692         block that sets it to 0.
693         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
694
695 2010-10-14  Bruno Haible  <bruno@clisp.org>
696
697         socketlib: Fix.
698         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
699         gl_PREREQ_SYS_H_WINSOCK2.
700         Reported by Ian Beckwith <ianb@erislabs.net>.
701
702 2010-10-13  Jim Meyering  <meyering@redhat.com>
703
704         test-select-stdin.c: avoid warn_unused_result warnings
705         * tests/test-select-stdin.c: Include "macros.h".
706         ASSERT that read and fflush succeed.
707
708 2010-10-13  Jim Meyering  <meyering@redhat.com>
709
710         git-version-gen: do require git-VC'd files in cwd
711         * build-aux/git-version-gen: Reject a git version string
712         if there are no commits associated with the current directory.
713         This avoids an unlikely false-positive (unrelated dir whose parent
714         repository also contains a tag matching v*), as pointed out
715         by Giuseppe Scrivano in
716         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
717
718 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
719
720         argv-iter: omit nonconforming declaration
721         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
722         enum arg_iter_err declaration, which doesn't conform to C99.
723         Solaris 10 cc warns about this.
724
725 2010-10-13  Eric Blake  <eblake@redhat.com>
726
727         termios: fix compilation on mingw
728         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
729         (gl_TERMIOS_H): Adjust it on mingw.
730         * modules/termios (Makefile.am): Substitute new key.
731         * lib/termios.in.h (includes): Make include_next conditional.
732         * doc/posix-headers/termios.texi (termios.h): Update
733         documentation.
734         Reported by Daniel P. Berrange.
735
736 2010-10-13  Jim Meyering  <meyering@redhat.com>
737
738         git-version-gen: don't require that .git/ be in the current dir
739         * build-aux/git-version-gen: Adjust this script so that it works
740         when run from any working directory beneath the top-level .git/-
741         containing directory.  Inspired by a patch from Giuseppe Scrivano,
742         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
743
744         test-select: avoid warn_unused_result warnings
745         * tests/test-select.c: Include "macros.h".
746         ASSERT that each call to read, write, and pipe succeeds.
747         While not technically required, also check each "close".
748         * modules/select-tests (Files): Add tests/macros.h.
749
750         test-symlinkat: remove declaration of unused local
751         * tests/test-symlinkat.c (main): Remove unused local, "buf".
752
753         test-inttostr: avoid shadowing warnings
754         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
755         and use malloc rather than the stack for the same reason as
756         mentioned in the comment justifying the other allocation.
757
758 2010-10-11  Bruno Haible  <bruno@clisp.org>
759
760         stdlib: Allow multiple gnulib generated replacements to coexist.
761         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
762         Reported by Sam Steingold <sds@gnu.org>.
763
764 2010-10-11  Jim Meyering  <meyering@redhat.com>
765
766         fix a documentation typo
767         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
768
769 2010-10-11  Eric Blake  <eblake@redhat.com>
770
771         futimens: work around Solaris 11 bug
772         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
773         * tests/test-futimens.h (test_futimens): Enhance, rather than
774         weaken test.
775         * doc/posix-functions/futimens.texi (futimens): Document the bug.
776
777 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
778
779         Indentation.
780         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
781         higher-level operators more to the left.
782
783 2010-10-11  Jim Meyering  <meyering@redhat.com>
784
785         test-futimens: avoid unwarranted test failure on Solaris 5.11
786         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
787         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
788         because it tries to dereference the NULL name argument.
789
790 2010-10-11  Bruno Haible  <bruno@clisp.org>
791
792         Indentation.
793         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
794         indentation.
795
796 2010-10-11  Jim Meyering  <meyering@redhat.com>
797
798         spawn.in.h: make indentation consistent with parentheses
799         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
800         Make indentation consistent with parentheses.
801
802 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
803
804         Fix mismatched parens in previous commit
805         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
806         parens.
807
808 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
809
810         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
811
812         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
813         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
814         * lib/malloca.c: Include "verify.h".
815         (verify1): Remove, replacing with a verify call.
816         * lib/relocwrapper.c (verify1): Likewise.
817         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
818         Likewise.
819         * modules/malloca (Depends-on): Add 'verify'.
820         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
821         * modules/vasnprintf (Depends-on): Add 'verify'.
822         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
823         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
824         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
825         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
826         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
827         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
828         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
829
830         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
831
832         Formerly the style was sometimes 2*X - 1, because the C standard
833         was wrongly thought to disallow ?: in integral constant expressions.
834         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
835         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
836         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
837         * lib/stdint.in.h (_verify_intmax_size): Likewise.
838         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
839         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
840         verify that time_t cannot be floating.
841
842 2010-10-08  Eric Blake  <eblake@redhat.com>
843
844         time: enforce recent POSIX ruling that time_t is integral
845         * lib/time.in.h (__time_t_must_be_integral): Detect any
846         problematic systems, allowing the rest of gnulib to assume POSIX.
847
848 2010-10-08  Jim Meyering  <meyering@redhat.com>
849
850         fdopendir: fix a bug on systems lacking openat and /proc support
851         OpenBSD 4.7 is one such system.  The most noticeable effect was
852         failure of any application making nontrivial use of fts: rm, du,
853         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
854           ./rm: traversal failed: `a': Bad file descriptor
855         Debugging that, you see that even though FD 6 was closed just
856         prior to the opendir call in fd_clone_opendir, its resulting
857         dir->dd_fd was 8, rather than the expected value of 6:
858
859         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
860         93                close (fd);
861         (gdb) n
862         94                dir = fd_clone_opendir (dupfd);
863         (gdb) n
864         95                saved_errno = errno;
865         (gdb) p dir->dd_fd
866         $11 = 8
867
868         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
869         The problem is that on OpenBSD, fd_clone_opendir has to resort
870         to using the old-style save/restore CWD mechanism, due to its
871         lack of openat/proc support, and *that* would steal the FD (6)
872         that opendir was supposed to use.
873
874         The fix is to squirrel away the desired FD so that save_cwd uses a
875         different one, and then free the dest FD right before calling opendir.
876         That guarantees opendir will use the required file descriptor.
877
878         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
879
880 2010-10-08  Bruno Haible  <bruno@clisp.org>
881
882         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
883         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
884
885 2010-10-08  Bruno Haible  <bruno@clisp.org>
886
887         nanosleep: Make replacement POSIX compliant.
888         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
889         is out of range.
890         Reported by Jim Meyering.
891
892 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
893
894         bootstrap: add hook for altering gnulib.mk, for Bison
895         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
896         the Bison bootstrapping process can rewrite file names and variables
897         in this file before later parts of 'bootstrap' use the file.
898         Bison wants to include lib/gnulib.mk from the top-level makefile,
899         so it needs the file names in this file to be relative to the top
900         level, not relative to lib; plus it needs variable names to be
901         rewritten.
902         (slurp): Use the new function.
903
904         bootstrap: reformat for readability
905         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
906
907 2010-10-08  Eric Blake  <eblake@redhat.com>
908
909         docs: update cygwin progress
910         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
911         1.7.7.
912         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
913         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
914         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
915         * doc/posix-functions/carg.texi (carg): Likewise.
916         * doc/posix-functions/cargf.texi (cargf): Likewise.
917         * doc/posix-functions/casin.texi (casin): Likewise.
918         * doc/posix-functions/casinf.texi (casinf): Likewise.
919         * doc/posix-functions/casinh.texi (casinh): Likewise.
920         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
921         * doc/posix-functions/catan.texi (catan): Likewise.
922         * doc/posix-functions/catanf.texi (catanf): Likewise.
923         * doc/posix-functions/catanh.texi (catanh): Likewise.
924         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
925         * doc/posix-functions/ccos.texi (ccos): Likewise.
926         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
927         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
928         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
929         * doc/posix-functions/cexp.texi (cexp): Likewise.
930         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
931         * doc/posix-functions/cimag.texi (cimag): Likewise.
932         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
933         * doc/posix-functions/clog.texi (clog): Likewise.
934         * doc/posix-functions/clogf.texi (clogf): Likewise.
935         * doc/posix-functions/conj.texi (conj): Likewise.
936         * doc/posix-functions/conjf.texi (conjf): Likewise.
937         * doc/posix-functions/cpow.texi (cpow): Likewise.
938         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
939         * doc/posix-functions/cproj.texi (cproj): Likewise.
940         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
941         * doc/posix-functions/creal.texi (creal): Likewise.
942         * doc/posix-functions/crealf.texi (crealf): Likewise.
943         * doc/posix-functions/csin.texi (csin): Likewise.
944         * doc/posix-functions/csinf.texi (csinf): Likewise.
945         * doc/posix-functions/csinh.texi (csinh): Likewise.
946         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
947         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
948         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
949         * doc/posix-functions/ctan.texi (ctan): Likewise.
950         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
951         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
952         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
953         * doc/posix-headers/complex.texi (complex.h): Likewise.
954
955 2010-10-07  Jim Meyering  <meyering@redhat.com>
956
957         parse-datetime: avoid compilation failure on OpenBSD 4.7
958         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
959         This works around a compilation failure on OpenBSD 4.7:
960         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
961
962 2010-10-07  Eric Blake  <eblake@redhat.com>
963
964         docs: update cygwin progress
965         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
966         1.7.6.
967         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
968         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
969         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
970         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
971         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
972         Likewise.
973         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
974         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
975         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
976         Likewise.
977         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
978         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
979         Likewise.
980         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
981         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
982         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
983         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
984         Likewise.
985         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
986         Likewise.
987         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
988
989         docs: update parse-datetime history
990         * doc/parse-datetime.texi (Authors of parse_datetime): Better
991         documentation of this function's history and alternatives.
992
993         cygwin: use more robust version check
994         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
995         exclude an eventual cygwin 1.9.1.
996         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
997         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
998         (gl_FUNC_STRCASESTR): Likewise.
999         Reported by Bruno Haible.
1000
1001 2010-10-06  Bruno Haible  <bruno@clisp.org>
1002
1003         string, sys_select: Avoid #including large headers unless necessary.
1004         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
1005         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
1006         OSF/1, BeOS, Haiku.
1007         Reported by Jim Meyering.
1008
1009 2010-10-05  Eric Blake  <eblake@redhat.com>
1010
1011         memmem, strstr, strcasestr: fix bug with long periodic needle
1012         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
1013         periodic needle having false positive.
1014         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
1015         and cygwin 1.7.7.
1016         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
1017         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
1018         (gl_FUNC_STRCASESTR): Likewise.
1019         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
1020         * tests/test-memmem.c (main): Expose the bug.
1021         * tests/test-strcasestr.c (main): Likewise.
1022         * tests/test-strstr.c (main): Likewise.
1023         * tests/test-c-strcasestr.c (main): Likewise.
1024         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
1025         * doc/posix-functions/strstr.texi (strstr): Likewise.
1026         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
1027         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
1028
1029 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
1030
1031         parse-datetime: do some more renaming
1032         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
1033         parse_datetime, not get_date.  Mention the renaming.
1034         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
1035         in comments.
1036         * m4/bison.m4: Likewise.
1037
1038 2010-10-05  Eric Blake  <eblake@redhat.com>
1039
1040         parse-datetime: better name than get_date
1041         * NEWS: Reword the deprecation notice.
1042         * modules/get_date: Rename to modules/parse-datetime.
1043         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
1044         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
1045         * lib/get_date.y: Rename to lib/parse-datetime.y.
1046         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
1047         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
1048         * doc/getdate.texi: Provide fallback wrapper.
1049         * lib/getdate.h: Move guts, and wrap...
1050         * lib/parse-datetime.h: ...new file.
1051         * lib/parse-datetime.y (get_date): Rename...
1052         (parse_datetime): ...to this.
1053         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
1054         (gl_PARSE_DATETIME): ...to this.
1055         * doc/posix-functions/getdate.texi (get_date): Provide fallback
1056         documentation.
1057         * modules/getdate (Files): Provide fallback docs and header.
1058         (Notice, Depends-on): Update references.
1059         * tests/test-parse-datetime.c: Likewise.
1060         * DEPENDENCIES: Likewise.
1061         * MODULES.html.sh (Date and time <time.h>): Likewise.
1062         * doc/parse-datetime.texi (Date input formats)
1063         (Authors of parse_datetime): Likewise.
1064         * modules/parse-datetime (Files, configure.ac, Makefile.am)
1065         (Include): Likewise.
1066         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
1067         * gnulib-tool: Likewise.
1068         * m4/bison.m4 (gl_BISON): Likewise.
1069         Suggested by Bruno Haible.
1070
1071 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
1072
1073         more ports to Solaris tr, which needs [] around ranges
1074         * gnulib-tool: Solaris tr needs [] around ranges.
1075         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
1076         * tests/test-pipe-filter-gi1.c (main): Likewise.
1077         * tests/test-pipe-filter-ii1.c (main): Likewise.
1078
1079 2010-10-05  Eric Blake  <eblake@redhat.com>
1080
1081         bootstrap: fix Solaris regression
1082         * build-aux/bootstrap (check_versions): Solaris tr still needs []
1083         around ranges.
1084         Reported by Pádraig Brady.
1085
1086         bootstrap: work with pkg-config
1087         * build-aux/bootstrap (check_versions): Also transliterate - in
1088         prerequisite name.
1089         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
1090         prerequisites that were already found, to avoid confusion.
1091         Reported by Justin Clift.
1092
1093         faccessat: remove unused wrappers
1094         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
1095         presence of these wrappers dragged in -lgen on Solaris.
1096         Reported by Clemens Brogi; fix suggested by Paul Eggert.
1097
1098 2010-10-05  Jim Meyering  <meyering@redhat.com>
1099
1100         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
1101         * Makefile (sc_pragma_columns): New syntax-check rule.
1102
1103 2010-10-04  Bruno Haible  <bruno@clisp.org>
1104
1105         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
1106         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
1107         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
1108         Reported by Bruce Korb and Eric Blake.
1109
1110 2010-10-04  Bruno Haible  <bruno@clisp.org>
1111
1112         threadlib: Make option --with-libpth-prefix work.
1113         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
1114         use $LIBPTH, not just -lpth.
1115
1116 2010-10-04  Bruno Haible  <bruno@clisp.org>
1117
1118         Avoid line length limitation from HP NonStop system header files.
1119         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
1120         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
1121         * lib/ctype.in.h: Likewise.
1122         * lib/dirent.in.h: Likewise.
1123         * lib/errno.in.h: Likewise.
1124         * lib/fcntl.in.h: Likewise.
1125         * lib/float.in.h: Likewise.
1126         * lib/getopt.in.h: Likewise.
1127         * lib/iconv.in.h: Likewise.
1128         * lib/inttypes.in.h: Likewise.
1129         * lib/langinfo.in.h: Likewise.
1130         * lib/locale.in.h: Likewise.
1131         * lib/math.in.h: Likewise.
1132         * lib/netdb.in.h: Likewise.
1133         * lib/netinet_in.in.h: Likewise.
1134         * lib/poll.in.h: Likewise.
1135         * lib/pthread.in.h: Likewise.
1136         * lib/pty.in.h: Likewise.
1137         * lib/sched.in.h: Likewise.
1138         * lib/se-selinux.in.h: Likewise.
1139         * lib/search.in.h: Likewise.
1140         * lib/signal.in.h: Likewise.
1141         * lib/spawn.in.h: Likewise.
1142         * lib/stdarg.in.h: Likewise.
1143         * lib/stddef.in.h: Likewise.
1144         * lib/stdint.in.h: Likewise.
1145         * lib/stdio.in.h: Likewise.
1146         * lib/stdlib.in.h: Likewise.
1147         * lib/string.in.h: Likewise.
1148         * lib/strings.in.h: Likewise.
1149         * lib/sys_file.in.h: Likewise.
1150         * lib/sys_ioctl.in.h: Likewise.
1151         * lib/sys_select.in.h: Likewise.
1152         * lib/sys_socket.in.h: Likewise.
1153         * lib/sys_stat.in.h: Likewise.
1154         * lib/sys_time.in.h: Likewise.
1155         * lib/sys_times.in.h: Likewise.
1156         * lib/sys_utsname.in.h: Likewise.
1157         * lib/sys_wait.in.h: Likewise.
1158         * lib/sysexits.in.h: Likewise.
1159         * lib/termios.in.h: Likewise.
1160         * lib/time.in.h: Likewise.
1161         * lib/unistd.in.h: Likewise.
1162         * lib/wchar.in.h: Likewise.
1163         * lib/wctype.in.h: Likewise.
1164         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
1165         * modules/ctype (Makefile.am): Likewise.
1166         * modules/dirent (Makefile.am): Likewise.
1167         * modules/errno (Makefile.am): Likewise.
1168         * modules/fcntl-h (Makefile.am): Likewise.
1169         * modules/float (Makefile.am): Likewise.
1170         * modules/getopt-posix (Makefile.am): Likewise.
1171         * modules/iconv-h (Makefile.am): Likewise.
1172         * modules/inttypes (Makefile.am): Likewise.
1173         * modules/langinfo (Makefile.am): Likewise.
1174         * modules/locale (Makefile.am): Likewise.
1175         * modules/math (Makefile.am): Likewise.
1176         * modules/netdb (Makefile.am): Likewise.
1177         * modules/netinet_in (Makefile.am): Likewise.
1178         * modules/poll-h (Makefile.am): Likewise.
1179         * modules/pthread (Makefile.am): Likewise.
1180         * modules/pty (Makefile.am): Likewise.
1181         * modules/sched (Makefile.am): Likewise.
1182         * modules/search (Makefile.am): Likewise.
1183         * modules/selinux-h (Makefile.am): Likewise.
1184         * modules/signal (Makefile.am): Likewise.
1185         * modules/spawn (Makefile.am): Likewise.
1186         * modules/stdarg (Makefile.am): Likewise.
1187         * modules/stddef (Makefile.am): Likewise.
1188         * modules/stdint (Makefile.am): Likewise.
1189         * modules/stdio (Makefile.am): Likewise.
1190         * modules/stdlib (Makefile.am): Likewise.
1191         * modules/string (Makefile.am): Likewise.
1192         * modules/strings (Makefile.am): Likewise.
1193         * modules/sys_file (Makefile.am): Likewise.
1194         * modules/sys_ioctl (Makefile.am): Likewise.
1195         * modules/sys_select (Makefile.am): Likewise.
1196         * modules/sys_socket (Makefile.am): Likewise.
1197         * modules/sys_stat (Makefile.am): Likewise.
1198         * modules/sys_time (Makefile.am): Likewise.
1199         * modules/sys_times (Makefile.am): Likewise.
1200         * modules/sys_utsname (Makefile.am): Likewise.
1201         * modules/sys_wait (Makefile.am): Likewise.
1202         * modules/sysexits (Makefile.am): Likewise.
1203         * modules/termios (Makefile.am): Likewise.
1204         * modules/time (Makefile.am): Likewise.
1205         * modules/unistd (Makefile.am): Likewise.
1206         * modules/wchar (Makefile.am): Likewise.
1207         * modules/wctype (Makefile.am): Likewise.
1208
1209 2010-10-04  Bruno Haible  <bruno@clisp.org>
1210
1211         read-file tests: Avoid a test failure on NonStop Kernel.
1212         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
1213         a regular file.
1214         Reported by Joachim Schmitz <schmitz@hp.com>.
1215
1216 2010-10-03  Bruno Haible  <bruno@clisp.org>
1217
1218         gnulib-tool: Fixes for --create-testdir with --libtool.
1219         * gnulib-tool (func_get_automake_snippet): Don't augment
1220         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
1221         an executable.
1222         (func_create_testdir): Handle module 'alloca' like func_import.
1223         Reported by Bruce Korb <bruce.korb@gmail.com>.
1224
1225 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
1226
1227         Avoid some lines longer than 80 characters.
1228         * lib/stdint.in.h: Break long comment lines.
1229         * lib/math.in.h: Likewise.
1230         (_GL_NUM_UINT_WORDS): New macro, for readability.
1231         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
1232         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
1233         * lib/stdlib.in.h: Likewise.
1234         * lib/spawn.in.h: Likewise.
1235         * lib/sys_socket.in.h: Update an URL.
1236         * lib/sys_stat.in.h: Break long line.
1237
1238 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
1239
1240         Improve pmccabe2html.
1241         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
1242         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
1243         when the sources change. Remove the line in the HTML about "Used
1244         ranges" (which implied that there might be other unused ranges),
1245         rename "Resume" to "Summary" (easier to understand for more users).
1246         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
1247         styles, and some unnecessary blank lines.
1248
1249 2010-10-03  Bruno Haible  <bruno@clisp.org>
1250             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
1251
1252         acl: Add support for ACLs on NonStop Kernel.
1253         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
1254         Check whether the function aclsort() exists.
1255         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
1256         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
1257         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
1258         (acl_nontrivial [HAVE_ACLSORT]: New function.
1259         (file_has_acl): Implement for NonStop Kernel.
1260         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
1261         (qset_acl): Implement for NonStop Kernel.
1262         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
1263         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
1264         (main): Implement for NonStop Kernel.
1265         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
1266         Kernel. Handle this flavor.
1267         * tests/test-set-mode-acl.sh: Likewise.
1268         * tests/test-copy-acl.sh: Likewise.
1269         * tests/test-copy-file.sh: Likewise.
1270
1271 2010-10-03  Bruno Haible  <bruno@clisp.org>
1272
1273         Info about ACLs on NonStop Kernel.
1274         * doc/acl-resources.txt: Add info about NonStop Kernel.
1275         References by Joachim Schmitz <schmitz@hp.com>.
1276
1277 2010-10-02  Bruno Haible  <bruno@clisp.org>
1278
1279         Define missing EDQUOT on NonStop Kernel.
1280         * lib/errno.in.h (EDQUOT): Assign a value if missing.
1281         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
1282         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
1283         missing.
1284         * doc/posix-headers/errno.texi: Mention the NSK bug.
1285         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
1286         Reported by Joachim Schmitz <schmitz@hp.com>.
1287
1288 2010-10-02  Bruno Haible  <bruno@clisp.org>
1289
1290         Update doc for POSIX:2008.
1291         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
1292         Update URL of POSIX specification.
1293
1294 2010-10-02  Bruno Haible  <bruno@clisp.org>
1295
1296         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
1297         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
1298         from gnulib, not from Automake.
1299
1300 2010-10-02  Bruno Haible  <bruno@clisp.org>
1301
1302         New module 'system-posix'.
1303         * modules/system-posix: New file.
1304         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
1305         module is present.
1306         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
1307         GNULIB_SYSTEM_POSIX.
1308         * modules/stdlib (Depends-on): Remove sys_wait.
1309         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
1310         * doc/posix-functions/system.texi: Mention the new module.
1311         * doc/posix-headers/stdlib.texi: Likewise.
1312         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
1313         define test_sys_wait_macros to a no-op.
1314         Reported by Sam Steingold <sds@gnu.org>.
1315
1316 2010-09-30  Bruno Haible  <bruno@clisp.org>
1317
1318         More renaming from 'getdate' to 'get_date'.
1319         * doc/get_date.texi: Renamed from doc/getdate.texi.
1320         * modules/get_date (Files): Update.
1321         * MODULES.html.sh (Date and time <time.h>): Update.
1322         * DEPENDENCIES: Update.
1323         * gnulib-tool: Update comment.
1324         * m4/bison.m4 (gl_BISON): Likewise.
1325         * m4/get_date.m4 (gl_GET_DATE): Likewise.
1326
1327 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
1328
1329         bootstrap: support ACLOCAL_FLAGS during aclocal
1330         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
1331         can add additional -I dir for third-party .m4 files.
1332
1333 2010-09-30  Eric Blake  <eblake@redhat.com>
1334
1335         bootstrap: use glibtoolize on MacOS
1336         * build-aux/bootstrap (check_versions): Convert libtool into
1337         libtoolize.
1338         (tool search): Move libtool check earlier, and look for
1339         glibtoolize for MacOS.
1340         (gnulib_tool_options): Auto-add --libtool when appropriate.
1341         Reported by Justin Clift.
1342
1343         poll: fix typo that broke test on MacOS
1344         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
1345         Reported by Justin Clift.
1346
1347         getdate: rename to get_date
1348         Note: getdate.h is not renamed, to minimize client impact.
1349         * modules/getdate: Mark obsolete.  Move old contents...
1350         * modules/get_date: ...to new module name.
1351         * modules/getdate-tests: Move...
1352         * modules/get_date-tests: ...here.
1353         * m4/getdate.m4: Move...
1354         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
1355         * lib/getdate.y: Move...
1356         * lib/get_date.y: ...here.
1357         * tests/test-getdate.c: Move...
1358         * tests/test-get_date.c: ...here.
1359         * doc/posix-functions/getdate.texi (getdate): Update name.
1360         * NEWS: Mention the change.
1361
1362 2010-09-29  Bruno Haible  <bruno@clisp.org>
1363
1364         Separate the module 'waitpid' from the module 'sys_wait'.
1365         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
1366         present.
1367         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
1368         gl_MODULE_INDICATOR_FOR_TESTS.
1369         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
1370         * modules/sys_wait (Depends-on): Remove waitpid.
1371         (Makefile.am): Substitute GNULIB_WAITPID.
1372         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
1373         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
1374         signature only if the 'waitpid' module is present.
1375         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
1376         * NEWS: Mention the change.
1377         * modules/grantpt (Depends-on): Add waitpid.
1378         * modules/wait-process (Depends-on): Likewise.
1379
1380 2010-09-29  Bruno Haible  <bruno@clisp.org>
1381
1382         More tests for module 'sys_wait'.
1383         * modules/sys_wait-c++-tests: New file.
1384         * tests/test-sys_wait-c++.cc: New file.
1385         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
1386         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
1387
1388 2010-09-29  Bruno Haible  <bruno@clisp.org>
1389
1390         New module 'waitpid'.
1391         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
1392         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
1393         Don't include <process.h>.
1394         (waitpid): Declare only, using modern idiom.
1395         * m4/waitpid.m4: New file.
1396         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
1397         * modules/waitpid: New file.
1398         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
1399         (Makefile.am): Update.
1400         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
1401
1402 2010-09-28  Bruno Haible  <bruno@clisp.org>
1403
1404         poll: Assume ANSI C.
1405         * lib/poll.c (poll): Use an ANSI C declaration.
1406
1407 2010-09-28  Bruno Haible  <bruno@clisp.org>
1408
1409         poll-h: Create poll.h on all platforms.
1410         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
1411         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
1412         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
1413         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
1414         (gl_REPLACE_POLL_H): Don't set POLL_H.
1415         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
1416         * modules/poll-h (Depends-on): Add include_next.
1417         (Makefile.am): Create poll.h unconditionally. Substitute also
1418         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
1419
1420 2010-09-28  Bruno Haible  <bruno@clisp.org>
1421
1422         Tests for module 'poll-h'.
1423         * modules/poll-h-c++-tests: New file.
1424         * tests/test-poll-h-c++.cc: New file.
1425
1426         Tests for module 'poll-h'.
1427         * modules/poll-h-tests: New file.
1428         * tests/test-poll-h.c: New file.
1429
1430 2010-09-28  Bruno Haible  <bruno@clisp.org>
1431
1432         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
1433         * modules/poll-h (Depends-on): Add 'extensions'.
1434
1435 2010-09-28  Bruno Haible  <bruno@clisp.org>
1436
1437         New module 'poll-h'.
1438         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
1439         (poll): Use modern idiom.
1440         * modules/poll-h: New file.
1441         * modules/poll (Files): Remove lib/poll.in.h.
1442         (Depends-on): Add poll-h.
1443         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
1444         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
1445         * m4/poll_h.m4: New file.
1446         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
1447         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
1448         and invoke gl_REPLACE_POLL_H.
1449         * lib/poll.c: Use common idiom.
1450         * tests/test-poll.c: Likewise.
1451         * doc/posix-headers/poll.texi: Mention the poll-h module.
1452         Suggested by Eric Blake.
1453
1454 2010-09-26  Bruno Haible  <bruno@clisp.org>
1455
1456         sys_wait: Implement WSTOPSIG.
1457         * lib/sys_wait.in.h (WSTOPSIG): New macro.
1458         Reported by Simon Josefsson.
1459
1460 2010-09-26  Simon Josefsson  <simon@josefsson.org>
1461
1462         stdlib, sys_wait: Avoid compilation error on mingw.
1463         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
1464
1465 2010-09-26  Bruno Haible  <bruno@clisp.org>
1466
1467         stdlib tests: Avoid code duplication.
1468         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
1469         * modules/sys_wait-tests (Files): Likewise.
1470         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
1471         * tests/test-stdlib.c: Include test-sys_wait.h.
1472         (main): Invoke test_sys_wait_macros.
1473         * tests/test-sys_wait.c: Include test-sys_wait.h.
1474         (main): Invoke test_sys_wait_macros.
1475
1476 2010-09-25  Simon Josefsson  <simon@josefsson.org>
1477
1478         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
1479         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
1480         sure Windows sockets are working before calling getaddrinfo.
1481         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
1482         * doc/gnulib.texi (Windows sockets): Fix typo.
1483
1484 2010-09-25  Bruno Haible  <bruno@clisp.org>
1485
1486         Tests for module 'regex-quote'.
1487         * modules/regex-quote-tests: New file.
1488         * tests/test-regex-quote.c: New file.
1489
1490         New module 'regex-quote'.
1491         * lib/regex-quote.h: New file.
1492         * lib/regex-quote.c: New file.
1493         * modules/regex-quote: New file.
1494         Suggested by Reuben Thomas <rrt@sc3d.org>.
1495
1496 2010-09-24  Bruno Haible  <bruno@clisp.org>
1497
1498         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
1499         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
1500
1501 2010-09-23  Bruno Haible  <bruno@clisp.org>
1502
1503         setenv: Relax license.
1504         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
1505         Blake.
1506         Requested by Eric Blake.
1507
1508 2010-09-22  Bruno Haible  <bruno@clisp.org>
1509
1510         termios: Relax license.
1511         * modules/termios (License): Change to LGPLv2+.
1512         Requested by Eric Blake.
1513
1514 2010-09-22  Bruno Haible  <bruno@clisp.org>
1515
1516         threadlib: Allow the package to change the default to 'no'.
1517         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
1518         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
1519         Reported by Paul Eggert.
1520
1521 2010-09-22  Pádraig Brady  <P@draigbrady.com>
1522             Bruno Haible  <bruno@clisp.org>
1523
1524         Fix endless loop in mbmemcasecoll.
1525         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
1526         byte.
1527         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
1528
1529 2010-09-22  Bruno Haible  <bruno@clisp.org>
1530
1531         Tests for module 'memcoll'.
1532         * modules/memcoll-tests: New file.
1533         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
1534
1535         memcoll, xmemcoll: Clarify size vs. length.
1536         * modules/memcoll.c (memcoll0): Clarify specification.
1537         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
1538         passed to collate_error.
1539
1540 2010-09-22  Bruno Haible  <bruno@clisp.org>
1541
1542         Tests for module 'memcasecmp'.
1543         * modules/memcasecmp-tests: New file.
1544         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
1545
1546 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
1547
1548         * lib/pthread.in.h: Add split double-inclusion guard, and include
1549         system <pthread.h> if there is one.  Use @@-style as in other
1550         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
1551         pthread.h doesn't.
1552         (pthread_mutexattr_destroy, pthread_mutexattr_init):
1553         (pthread_mutexattr_settype, pthread_mutex_trylock):
1554         New static inline functions, if there's no system <pthread.h>.
1555         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
1556         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
1557         Approximate with mutexes if the system lacks spinlocks, as in
1558         MacOS.
1559         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
1560         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
1561         @@-style.  Check for spinlocks separately.
1562         (gl_PTHREAD_DEFAULTS): New macro.
1563         * modules/pthread: Redo to use a more typical style for in.h files.
1564
1565 2010-09-21  Eric Blake  <eblake@redhat.com>
1566
1567         net_if: enhance tests
1568         * tests/test-net_if.c (main): Move signature checks earlier.
1569         Print failures to stderr.
1570         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
1571         Document the bug that we do not yet fix.
1572
1573 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
1574
1575         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
1576         about gnulib, not GSS.
1577
1578 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
1579
1580         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
1581         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
1582         for Emacs.
1583         * build-aux/pmccabe2html: Make Makefile.am example code more
1584         cut-and-paste friendly.
1585
1586 2010-09-21  Simon Josefsson  <simon@josefsson.org>
1587
1588         * tests/test-net_if.c: New file.
1589         * modules/net_if-tests: New file.
1590
1591 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
1592
1593         pthread: add pthread_spin_destroy
1594         * lib/pthread.in.h (pthread_spin_destroy): New function.
1595
1596 2010-09-19  Bruno Haible  <bruno@clisp.org>
1597
1598         gnulib-tool: Fix --help output.
1599         * gnulib-tool (func_usage): Fix help message.
1600         Reported by Reuben Thomas <rrt@sc3d.org>.
1601
1602 2010-09-18  Jim Meyering  <meyering@redhat.com>
1603
1604         maint.mk: avoid unexpanded \n in two diagnostics
1605         * top/maint.mk (sc_prohibit_always_true_header_tests):
1606         Don't use a literal \n in a halt=... assignment.  It would not be
1607         expanded, and the two \n bytes would appear in the diagnostic output
1608         rather than the desired newline.  Use halt=$$(printf ... instead.
1609         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
1610
1611 2010-09-18  Bruno Haible  <bruno@clisp.org>
1612
1613         netinet_in: Doc tweak.
1614         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
1615         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
1616
1617 2010-09-18  Jim Meyering  <meyering@redhat.com>
1618
1619         init.sh: correct an outdated comment
1620         * tests/init.sh (create_exe_shims_):  s/function/alias/
1621
1622         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
1623         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
1624         a file named "*.exe" is removed between the glob expansion and the
1625         processing of that oddly named file.
1626
1627 2010-09-17  Eric Blake  <eblake@redhat.com>
1628
1629         mirbsd: add some more support
1630         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
1631         in BSD family.
1632         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
1633         devices as OpenBSD.
1634         * m4/host-os.m4 (mirbsd): Add MirBSD.
1635
1636         tests: fix unportable assumption on sys/wait.h
1637         * tests/test-sys_wait.c (main): Relax test.
1638         * tests/test-stdlib.c (main): Likewise.
1639
1640         init.sh: accomodate directory with no .exes
1641         * tests/init.sh: Accomodate directory containing only scripts.
1642
1643         tests: avoid compiler warning
1644         * tests/test-stdlib.c (main): Use the variable.
1645
1646         fdutimens, fdutimensat: update signature, again
1647         * lib/utimens.h (gl_futimens): Delete, and move signature...
1648         (fdutimens): ...here.
1649         (fdutimensat): Rearrange signature.
1650         (lutimensat): Rename variable for clarity.
1651         * lib/fdutimensat.c (fdutimensat): Update signature.
1652         * lib/utimens.c (fdutimens): Likewise.
1653         (gl_futimens): Delete.
1654         (utimens, lutimens): Update callers.
1655         * lib/futimens.c (futimens): Likewise.
1656         * tests/test-fdutimensat.c: Likewise.
1657         * tests/test-utimens.c: Likewise.
1658         * tests/test-futimens.h: Update comment.
1659         * NEWS: Mention this.
1660         Suggested by Paul Eggert.
1661
1662 2010-09-17  Bruno Haible  <bruno@clisp.org>
1663
1664         Take over the maintenance of some older macros from Autoconf.
1665         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
1666         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
1667         GNU Autoconf.
1668         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
1669         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
1670
1671 2010-09-17  Eric Blake  <eblake@redhat.com>
1672
1673         fdutimensat: drop atflag validation
1674         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
1675         with valid fd, to close a race scenario where futimens is
1676         unsupported and FILE was replaced by a symlink.
1677         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
1678         accordingly.
1679         Suggested by Paul Eggert.
1680
1681 2010-09-16  Bruno Haible  <bruno@clisp.org>
1682
1683         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
1684         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
1685
1686 2010-09-16  Bruno Haible  <bruno@clisp.org>
1687
1688         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
1689         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
1690         login_tty exists.
1691         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
1692
1693 2010-09-16  Bruno Haible  <bruno@clisp.org>
1694
1695         login_tty: Make the replacement code work on BSD systems.
1696         * lib/login_tty.c: Include <sys/ioctl.h>.
1697         (login_tty): Use ioctl TIOCSCTTY when available.
1698         * modules/login_tty (Depends-on): Add sys_ioctl.
1699         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
1700
1701 2010-09-16  Bruno Haible  <bruno@clisp.org>
1702
1703         login_tty: Stricter unit test.
1704         * modules/login_tty-tests (Depends-on): Add tcgetsid.
1705         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
1706         and tcgetsid() after login_tty.
1707         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
1708
1709 2010-09-16  Bruno Haible  <bruno@clisp.org>
1710
1711         New module 'tcgetsid'.
1712         * lib/tcgetsid.c: New file.
1713         * m4/tcgetsid.m4: New file.
1714         * modules/tcgetsid: New file.
1715         * modules/termios (Depends-on): Add c++defs, warn-on-use.
1716         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
1717         GNULIB_TCGETSID, HAVE_TCGETSID.
1718         * lib/termios.in.h: Include <sys/types.h>.
1719         (tcgetsid): New declaration.
1720         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
1721         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
1722         * doc/posix-functions/tcgetsid.texi: Mention the new module.
1723         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
1724
1725 2010-09-16  Bruno Haible  <bruno@clisp.org>
1726
1727         Tests for module 'termios'.
1728         * modules/termios-c++-tests: New file.
1729         * modules/termios-tests: New file.
1730         * tests/test-termios-c++.cc: New file.
1731         * tests/test-termios.c: New file.
1732
1733         New module 'termios'.
1734         * modules/termios: New file.
1735         * lib/termios.in.h: New file.
1736         * m4/termios_h.m4: New file.
1737         * doc/posix-headers/termios.texi: Mention the new module.
1738
1739 2010-09-16  Eric Blake  <eblake@redhat.com>
1740
1741         fdutimensat: add an atflag parameter
1742         * lib/fdutimensat.c (fdutimensat): Add new parameter.
1743         * lib/utimens.h (fdutimensat): Update prototype.
1744         * tests/test-fdutimensat.c: Adjust test to match.
1745         * NEWS: Document the change.
1746         Suggested by Paul Eggert.
1747
1748 2010-09-16  Bruno Haible  <bruno@clisp.org>
1749
1750         Fix typos in comments.
1751         * lib/striconveh.h: Fix typo in comment.
1752         * lib/login_tty.c (login_tty): Likewise.
1753
1754 2010-09-15  Bruno Haible  <bruno@clisp.org>
1755
1756         stdlib: clarify MirBSD WEXITSTATUS bug
1757         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
1758         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
1759
1760 2010-09-15  Eric Blake  <eblake@redhat.com>
1761
1762         stdlib: work around MirBSD WEXITSTATUS bug
1763         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
1764         * modules/stdlib (Depends-on): Add sys_wait.
1765         * tests/test-sys_wait.c (main): Enhance test.
1766         * tests/test-stdlib.c (main): Likewise.
1767         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
1768
1769         docs: mention MacOS issue with WEXITSTATUS(constant)
1770         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
1771         issue.
1772         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
1773
1774         strnlen: add tests
1775         * modules/strnlen-tests: New file.
1776         * tests/test-strnlen.c: Likewise.
1777
1778 2010-09-14  Bruno Haible  <bruno@clisp.org>
1779
1780         unistr/base: Avoid link errors when module 'libunistring' is also used.
1781         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
1782         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
1783         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
1784         Declare also when HAVE_LIBUNISTRING is set.
1785         Reported by Pádraig Brady <P@draigbrady.com>.
1786
1787 2010-09-14  Eric Blake  <eblake@redhat.com>
1788
1789         test-rawmemchr: make more robust
1790         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
1791         (Depends-on, configure.ac): Add needed prerequisites to use it.
1792         * modules/memchr-tests (Files, Depends-on, configure.ac):
1793         Likewise, to avoid implicit reliance on memchr module prereqs.
1794         * tests/test-memchr.c (main): Ensure proper masking.
1795         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
1796         reads.
1797
1798         memchr: detect glibc Alpha bug
1799         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
1800         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
1801         Alpha.
1802         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
1803         * tests/test-memchr.c (main): Enhance test.
1804         Reported by Nelson H. F. Beebe.
1805
1806 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
1807
1808         fts, getcwd, glob: audit for dirfd returning -1
1809         * lib/fts.c (opendir): Remove #define; no longer used.
1810         (opendirat): New arg PDIR_FD.  All callers changed.
1811         (fts_build, _opendir2): Use new opendirat to avoid the need for
1812         dirfd, or for checking whether dirfd returns a negative value.
1813         Don't use opendir; always use openat followed by fdopendir.
1814         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
1815         it.
1816         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
1817         returns -1 here.
1818         * modules/fts (Depends-on): Remove dirfd.
1819         * modules/getcwd (Depends-on): Likewise.
1820
1821 2010-09-13  Eric Blake  <eblake@redhat.com>
1822
1823         float: fix broken MirBSD header
1824         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
1825         * doc/posix-headers/float.texi (float.h): Document it.
1826
1827 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
1828
1829         fts: use O_NOFOLLOW to avoid race condition when opening a directory
1830         * lib/fts.c (opendirat): New arg extra_flags.
1831         (__opendir2): Use it to avoid following symlinks when opening
1832         a directory, if symlinks are not supposed to be followed.  See
1833         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
1834
1835         fdopendir: preserve argument fd before returning
1836         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
1837         (fdopendir_with_dup, fd_clone_opendir): New static functions.
1838         (fdopendir): Use them, arranging for FD to be open to the same
1839         directory that it was when it started.  (It might be temporarily
1840         closed while fdopendir is running, so this not thread- or
1841         signal-safe.)  Be careful to do the right thing even when file
1842         descriptors are scarce and dup fails with errno == EMFILE.  See
1843         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
1844
1845 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
1846
1847         regex: Pass the system regex if its only problem is 32-bit regoff_t.
1848         * NEWS: Document change.
1849         * m4/regex.m4: Disable test for regoff_t size.
1850
1851 2010-09-13  Jim Meyering  <meyering@redhat.com>
1852
1853         fts: don't operate on an invalid file descriptor after failed dup
1854         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
1855         negative file descriptor.
1856
1857 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
1858
1859         savedir: add streamsavedir, deprecate fdsavedir
1860         * NEWS: Mention deprecation of fdsavedir.
1861         * lib/savedir.c (streamsavedir): New extern function, whose name
1862         ends in "savedir" to be consistent with the others.  This differs
1863         from savedirstream in that it doesn't close its argument.  The
1864         next version of GNU tar will use this instead of fdsavedir, to
1865         avoid some race conditions and conserve file descriptors.
1866         (savedirstream): Reimplement as a wrapper around streamsavedir.
1867         (fdsavedir): Add a comment deprecating this function.  As far as
1868         I know, only GNU tar used it, and GNU tar doesn't need it any more.
1869         * lib/savedir.h (streamsavedir): New decl.
1870         (fdsavedir): Add a comment deprecating this.
1871
1872 2010-09-10  Bruno Haible  <bruno@clisp.org>
1873
1874         langinfo: Fix last commit.
1875         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
1876         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
1877         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
1878
1879 2010-09-10  Bruno Haible  <bruno@clisp.org>
1880
1881         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
1882         * lib/progreloc.c (O_EXEC): Define fallback.
1883
1884 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
1885
1886         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
1887         * NEWS: Document recent changes to fcntl-h.
1888         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
1889         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
1890         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
1891         Similarly for O_SEARCH; this last was already true, but not documented.
1892         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
1893         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
1894         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
1895         Likewise.
1896         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
1897         is zero, not whether it is defined.
1898         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
1899         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
1900         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
1901
1902 2010-09-10  Bruno Haible  <bruno@clisp.org>
1903
1904         langinfo, nl_langinfo: Fix for IRIX 5.3.
1905         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
1906         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
1907         HAVE_LANGINFO_YESEXPR.
1908         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
1909         HAVE_LANGINFO_YESEXPR.
1910         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
1911         HAVE_LANGINFO_T_FMT_AMPM is 0.
1912         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
1913         HAVE_LANGINFO_YESEXPR is 0.
1914         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
1915         NOEXPR.
1916         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
1917         * doc/posix-functions/nl_langinfo.texi: Likewise.
1918         Reported by Eric Blake.
1919
1920 2010-09-10  Bruno Haible  <bruno@clisp.org>
1921
1922         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
1923         * doc/glibc-functions/login_tty.texi: Mention the include file problem
1924         on FreeBSD 8.0 and OpenBSD 4.6.
1925         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
1926         * m4/pty_h.m4 (gl_PTY_H): Likewise.
1927         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
1928         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
1929         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
1930         ac_includes_default.
1931         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
1932
1933 2010-09-09  Eric Blake  <eblake@redhat.com>
1934
1935         strsignal: work around NetBSD bug
1936         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
1937         * lib/string.in.h (includes): Likewise.
1938         * doc/posix-functions/strsignal.texi (strsignal): Document the
1939         bug.
1940         Reported by Nelson H. F. Beebe.
1941
1942         gnulib-tool: work with NetBSD /bin/sh
1943         * gnulib-tool (func_cache_var, func_cache_lookup_module)
1944         (func_get_description, func_get_comment, func_get_status)
1945         (func_get_notice, func_get_applicability, func_get_filelist)
1946         (func_get_dependencies, func_get_autoconf_early_snippet)
1947         (func_get_autoconf_snippet, func_get_automake_snippet)
1948         (func_get_include_directive, func_get_link_directive)
1949         (func_get_license, func_get_maintainer, func_import): Avoid
1950         shell syntax errors from parsing syntax extensions.
1951
1952 2010-09-09  Bruno Haible  <bruno@clisp.org>
1953
1954         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
1955         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
1956         a reliable way to determine whether the 'alias' command works.
1957
1958 2010-09-08  Jim Meyering  <meyering@redhat.com>
1959
1960         init.sh: penalize a set-x-impaired shell; don't disqualify it
1961         * tests/init.sh: Too many shells corrupt application stderr when
1962         you set -x, so we can't afford to disqualify them, since at least
1963         on Irix-6.5, that would disqualify all bourne shells.
1964         Instead, use a two-pass approach.
1965         On the first pass, try to find a shell that meets the stricter
1966         condition that set -x does not corrupt stderr.
1967         If no shell meets the stricter condition, retest each candidate
1968         shell, but without that extra condition.  Finally, when
1969         VERBOSE=yes is requested and set -x might cause trouble, simply
1970         issue a warning and refrain from enabling debug output.
1971
1972 2010-09-08  Eric Blake  <eblake@redhat.com>
1973
1974         unsetenv: fix OpenBSD bug
1975         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
1976         * doc/posix-functions/unsetenv.texi (unsetenv): Update
1977         documentation.
1978         Reported by Jim Meyering.
1979
1980         strtod: work around IRIX 6.5 bug
1981         * lib/strtod.c (strtod): Reparse number on shorter string if
1982         exponent parse was invalid.
1983         * tests/test-strtod.c (main): Add check for "0x1p 2".
1984         Reported by Tom G. Christensen.
1985
1986         getopt: optimize previous patch
1987         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
1988         empty variable.  Speed up awk script.
1989         Reported by Paolo Bonzini.
1990
1991 2010-09-08  Jim Meyering  <meyering@redhat.com>
1992
1993         test.sh: disqualify shells for which set -x corrupts stderr
1994         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
1995         and OpenBSD 4.7.  They make it so with "set -x", environment settings
1996         appear in stderr output.  For example, this command:
1997             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
1998         prints "P=1" on those two systems:
1999
2000 2010-09-08  Bruno Haible  <bruno@clisp.org>
2001
2002         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
2003         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
2004         commands, because some shells ignore redirections when there is an
2005         error in the command lookup.
2006         Reported by Eric Blake.
2007
2008 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
2009
2010         * lib/regex.h: Fix a mention of `regex_compile' (should be
2011         `re_compile_pattern').
2012         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
2013         (re_set_registers): Correct name of parameter in comment.
2014
2015         * doc/regex.texi: Add documentation for missing syntax flags.
2016         Remove commented-out documentation of defunct syntax option
2017         RE_NO_EMPTY_ALTS.
2018         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
2019         Add documentation of re_set_registers.
2020         Document trick to re-use a pattern buffer by setting fastmap manually.
2021         Update documentation of struct re_pattern_buffer per public members.
2022         Uncomment documentation of equivalence class operators and
2023         collating symbol operators, since they are now implemented,
2024         Explain leftmost-longest matching in relation to alternatives.
2025         Tidy documentation of substring matching.
2026         Remove POSIX documentation, which is done better in
2027         glibc, and refer the reader there. Keep BSD API documentation, as
2028         that is not readily available elsewhere.
2029
2030 2010-09-07  Eric Blake  <eblake@redhat.com>
2031
2032         getopt: handle POSIXLY_CORRECT set but not exported
2033         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
2034         export state of POSIXLY_CORRECT, due to bash set -o posix.
2035         Reported by Dustin J. Mitchell.
2036
2037 2010-09-05  Bruno Haible  <bruno@clisp.org>
2038
2039         gnulib-tool: Highlight the changed options.
2040         * gnulib-tool (func_usage): Display the --import, --add-import,
2041         --remove-import explanations in bold font.
2042
2043 2010-09-06  Karl Berry  <karl@gnu.org>
2044
2045         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
2046
2047 2010-09-05  Bruno Haible  <bruno@clisp.org>
2048
2049         uniwidth/width: Update comment.
2050         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
2051         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
2052
2053 2010-09-05  Bruno Haible  <bruno@clisp.org>
2054
2055         isinf, isnan: Relax license.
2056         * modules/isinf (License): Change from GPL to LGPL, with consent from
2057         Ben Pfaff.
2058         * modules/isnan (License): Likewise.
2059         Requested by Ludovic Courtès.
2060
2061 2010-09-04  Bruno Haible  <bruno@clisp.org>
2062
2063         gnulib-tool: Help migration from --import to --add-import or --update.
2064         * gnulib-tool: Emit a verbose error message when --import is used
2065         without any module name.
2066
2067 2010-09-04  Bruno Haible  <bruno@clisp.org>
2068
2069         Update doc about gnulib-tool.
2070         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
2071         'gnulib-tool --update' in more detail.
2072         Reported by Eric Blake.
2073
2074 2010-09-04  Bruno Haible  <bruno@clisp.org>
2075
2076         gnulib-tool: Change --import. New options --add/remove-import.
2077         * gnulib-tool: New options --add-import, --remove-import.
2078         (func_usage): Document them.
2079         (have_associative): Define always.
2080         (func_import): In import mode, don't merge the specified settings with
2081         the cached settings. Implement remove-import mode.
2082         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
2083         Explain when to use them versus --import.
2084         (Simple update): Use --add-import instead of --import.
2085         * NEWS: Mention the change.
2086
2087 2010-09-04  Bruno Haible  <bruno@clisp.org>
2088
2089         * doc/gnulib-tool.texi (Initial import): Update paragraph about
2090         separate gnulib.mk.
2091
2092 2010-09-04  Bruno Haible  <bruno@clisp.org>
2093
2094         gnulib-tool: Don't talk about CVS any more.
2095         * gnulib-tool (func_usage, func_import): Write "version control"
2096         instead of CVS.
2097
2098 2010-09-04  Jim Meyering  <meyering@redhat.com>
2099
2100         maint.mk: avoid obscure sc_copyright_check failure in coreutils
2101         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
2102         false positives (whose names may be ill-chosen) when searching
2103         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
2104         would cause a false-positive.
2105
2106         avoid coreutils "make distcheck" failure
2107         Coreutils tests with an absolute build directory name that contains
2108         a space.  Not quoting this directory name caused a failure.
2109         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
2110         * tests/test-vc-list-files-cvs.sh: Likewise.
2111
2112 2010-09-04  Bruno Haible  <bruno@clisp.org>
2113
2114         gnulib-tool: Avoid error when run in a package without Makefile.am.
2115         * gnulib-tool: When collecting the m4dirs in a package that does not
2116         have a Makefile.am, eliminate those directories that contain no
2117         gnulib-cache.m4. Fix expression that counts these directories.
2118
2119 2010-09-04  Bruno Haible  <bruno@clisp.org>
2120
2121         update-copyright test: Improve output when perl is missing or too old.
2122         * tests/test-update-copyright.sh: Move test of Perl version down after
2123         the test whether Perl exists. Provide an explanation relating Perl's
2124         error message to Automake's SKIP: message.
2125
2126 2010-09-04  Bruno Haible  <bruno@clisp.org>
2127
2128         Don't augment PATH in TESTS_ENVIRONMENT.
2129         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
2130         set abs_aux_dir instead of augmenting PATH.
2131         * modules/vc-list-files-tests (Makefile.am): Likewise.
2132         * tests/test-update-copyright.sh: Augment PATH here.
2133         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
2134         path_prepend_.
2135         * tests/test-vc-list-files-git.sh: Likewise.
2136
2137 2010-09-04  Jim Meyering  <meyering@redhat.com>
2138
2139         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
2140         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
2141
2142 2010-09-04  Bruno Haible  <bruno@clisp.org>
2143
2144         strdup: Fix compilation error in C++ mode.
2145         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
2146         the macro.
2147
2148 2010-09-04  Bruno Haible  <bruno@clisp.org>
2149
2150         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
2151         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
2152         macro into a function.
2153         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
2154
2155 2010-09-04  Bruno Haible  <bruno@clisp.org>
2156
2157         Set PATH_SEPARATOR the same way autoconf does.
2158         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
2159         the value of PATH_SEPARATOR the same way autoconf-generated configure
2160         scripts do.
2161         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
2162         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
2163
2164 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
2165
2166         Set PATH_SEPARATOR the same way autoconf does.
2167         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
2168         the same way autoconf-generated configure scripts do.
2169         * posix-modules: Likewise.
2170
2171 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
2172
2173         hash: fix safe_hasher const typo
2174         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
2175         const; otherwise, there is a type error later.
2176
2177 2010-09-02  Jim Meyering  <meyering@redhat.com>
2178
2179         test-update-copyright.sh: require perl 5.8.0
2180         * tests/test-update-copyright.sh: Require 5.8.0,
2181         which Tom G. Christensen has confirmed is adequate,
2182         while 5.6.1 is not.
2183
2184 2010-09-02  Eric Blake  <eblake@redhat.com>
2185
2186         tests: init.sh improvements for re-exec'ing with zsh
2187         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
2188         -vx through shell re-exec.
2189         Reported by Tom G. Christensen.
2190
2191         wctype: fix typo in previous commit
2192         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
2193         Reported by Ludovic Courtès.
2194
2195 2010-09-02  Jim Meyering  <meyering@redhat.com>
2196
2197         test-update-copyright.sh: skip test if Perl is too old
2198         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
2199         Reported by Tom G. Christensen.
2200
2201 2010-09-02  Bruno Haible  <bruno@clisp.org>
2202
2203         wctype: Avoid compilation error on IRIX 6.5.30.
2204         * lib/wctype.in.h (iswblank): Declare with a replacement if
2205         REPLACE_ISWBLANK is set.
2206         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
2207         declared. Set REPLACE_ISWBLANK.
2208         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
2209         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
2210         * doc/posix-headers/wctype.texi: Likewise.
2211         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
2212
2213 2010-09-01  Bruno Haible  <bruno@clisp.org>
2214
2215         New module 'socketlib'.
2216         * modules/socketlib: New file.
2217         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
2218         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
2219         * modules/sockets (Depends-on): Add socketlib.
2220         Suggested by Sam Steingold <sds@gnu.org>.
2221
2222 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
2223
2224         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
2225
2226         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
2227         when one needs search access to a directory but not read access.
2228         On systems where it is available, it works in some cases where
2229         O_RDONLY does not, namely on directories that are searchable but
2230         not readable, and which need only to be searchable.  If O_SEARCH
2231         is not available, fall back to the traditional method of using
2232         O_RDONLY.
2233
2234         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
2235         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
2236         when opening a directory that needs only to be searchable.
2237         * lib/chdir-safer.c (chdir_no_follow): Likewise.
2238         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
2239         * lib/openat-proc.c (openat_proc_name): Likewise.
2240         * lib/openat.c (openat_needs_fchdir): Likewise.
2241         * lib/save-cwd.c (save_cwd): Likewise.
2242         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
2243
2244 2010-08-28  Bruno Haible  <bruno@clisp.org>
2245
2246         New module 'host-cpu-c-abi'.
2247         * modules/host-cpu-c-abi: New file.
2248         * m4/host-cpu-c-abi.m4: New file, based on part of
2249         clisp/src/m4/general.m4.
2250         Requested by Sam Steingold <sds@gnu.org>.
2251
2252 2010-08-31  Eric Blake  <eblake@redhat.com>
2253         and Jim Meyering  <meyering@redhat.com>
2254
2255         hash: factor, and guard against misbehaving hasher function
2256         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
2257         of table->hasher's return value.  Also protect against a hash value
2258         so large that adding it to table->bucket results in a NULL pointer.
2259         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
2260         Use it in place of open-coded check-and-abort.
2261
2262 2010-08-30  Bruno Haible  <bruno@clisp.org>
2263
2264         hash: silence spurious clang warning
2265         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
2266         Reported by Eric Blake.
2267
2268 2010-08-30  Eric Blake  <eblake@redhat.com>
2269
2270         strstr, memmem, strcasestr: avoid leaked shell message
2271         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
2272         FreeBSD.
2273         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
2274         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
2275
2276         tests: silence clang warning
2277         * tests/test-malloca.c (do_allocation): Avoid dead store.
2278
2279 2010-08-29  Bruno Haible  <bruno@clisp.org>
2280
2281         gettext: Fix recent mistake.
2282         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
2283
2284 2010-08-29  Bruno Haible  <bruno@clisp.org>
2285
2286         selinux-h: Offer a --without-selinux option.
2287         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
2288         --without-selinux was specified, skip all tests and define
2289         HAVE_SELINUX_SELINUX_H to 0.
2290         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
2291         set LIB_SELINUX to empty.
2292         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
2293         gl_LIBSELINUX. If --without-selinux was specified, replace
2294         selinux/context.h.
2295         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
2296
2297 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2298             Bruno Haible  <bruno@clisp.org>
2299
2300         Make the module 'realloc-gnu' work again on AIX and OSF/1.
2301         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
2302         of HAVE_REALLOC.
2303         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
2304         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
2305         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
2306         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
2307
2308 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2309             Bruno Haible  <bruno@clisp.org>
2310
2311         Make the module 'calloc-gnu' work again on AIX and OSF/1.
2312         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
2313         HAVE_CALLOC.
2314         * lib/xmalloc.c: Update accordingly.
2315         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
2316         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
2317         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
2318
2319 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2320             Bruno Haible  <bruno@clisp.org>
2321
2322         Make the module 'malloc-gnu' work again on AIX and OSF/1.
2323         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
2324         HAVE_MALLOC.
2325         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
2326         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
2327         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
2328
2329 2010-08-29  Bruno Haible  <bruno@clisp.org>
2330
2331         Update modules list.
2332         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
2333         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
2334         (String handling <string.h>): Add astrxfrm.
2335         (File system functions): Add readlinkat.
2336
2337 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2338
2339         Tests for module 'realloc-gnu'.
2340         * modules/realloc-gnu-tests: New file.
2341         * tests/test-realloc-gnu.c: New file.
2342
2343         Tests for module 'calloc-gnu'.
2344         * modules/calloc-gnu-tests: New file.
2345         * tests/test-calloc-gnu.c: New file.
2346
2347         Tests for module 'malloc-gnu'.
2348         * modules/malloc-gnu-tests: New file.
2349         * tests/test-malloc-gnu.c: New file.
2350
2351 2010-08-28  Bruno Haible  <bruno@clisp.org>
2352
2353         Rename module 'realloc' -> 'realloc-gnu'.
2354         * modules/realloc-gnu: New file, copied from modules/realloc.
2355         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
2356         obsolete.
2357         * modules/mgetgroups (Depends-on): Update.
2358         * doc/posix-functions/realloc.texi: Update.
2359         * NEWS: Mention the change.
2360
2361         Rename module 'calloc' -> 'calloc-gnu'.
2362         * modules/calloc-gnu: New file, copied from modules/calloc.
2363         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
2364         obsolete.
2365         * doc/posix-functions/calloc.texi: Update.
2366         * NEWS: Mention the change.
2367
2368         Rename module 'malloc' -> 'malloc-gnu'.
2369         * modules/malloc-gnu: New file, copied from modules/malloc.
2370         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
2371         obsolete.
2372         * modules/argp (Depends-on): Update.
2373         * modules/regex (Depends-on): Update.
2374         * doc/posix-functions/malloc.texi: Update.
2375         * NEWS: Mention the change.
2376
2377 2010-08-28  Eric Blake  <eblake@redhat.com>
2378
2379         pread, pwrite: add missing dependency
2380         * modules/pread (Depends-on): Add extensions.
2381         * modules/pwrite (Depends-on): Likewise.
2382
2383 2010-08-28  Bruno Haible  <bruno@clisp.org>
2384
2385         unistr/u*-strchr: Fix tests dependencies.
2386         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
2387         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
2388         Reported by Ian Beckwith <ianb@erislabs.net>.
2389
2390 2010-08-28  Bruno Haible  <bruno@clisp.org>
2391
2392         read-file: Don't occupy too much unused memory.
2393         * lib/read-file.c (fread_file): Shrink the buffer at the end.
2394
2395 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
2396             Eric Blake  <eblake@redhat.com>
2397             Bruno Haible  <bruno@clisp.org>
2398
2399         read-file: Avoid memory reallocations with regular files.
2400         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
2401         (fread_file): With regular files, use the remaining length as the
2402         initial buffer size.  Check against overflow.
2403         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
2404         sys_stat.
2405
2406 2010-08-28  Bruno Haible  <bruno@clisp.org>
2407
2408         ftello: Relax license.
2409         * modules/ftello (License): Relax to LGPLv2+.
2410         Reported by Eric Blake.
2411
2412 2010-08-28  Bruno Haible  <bruno@clisp.org>
2413
2414         Avoid relocwrapper link errors due to gnulib replacement functions.
2415         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
2416         function.
2417         Reported by Ben Pfaff <blp@cs.stanford.edu>.
2418
2419 2010-08-28  Bruno Haible  <bruno@clisp.org>
2420
2421         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
2422         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
2423         defined.
2424         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
2425         Suggested by Eric Blake.
2426
2427 2010-08-28  Bruno Haible  <bruno@clisp.org>
2428
2429         sys_socket, netdb: Ensure socklen_t gets defined.
2430         * modules/sys_socket (Depends-on): Add socklen.
2431         * modules/netdb (Depends-on): Likewise.
2432         * modules/getaddrinfo (Depends-on): Remove socklen.
2433         * modules/getsockopt (Depends-on): Likewise.
2434         * modules/setsockopt (Depends-on): Likewise.
2435         * tests/test-sys_socket.c: Check that socklen_t is defined.
2436         * tests/test-netdb.c: Likewise.
2437         * m4/socklen.m4: Update comments.
2438         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
2439
2440 2010-08-27  Eric Blake  <eblake@redhat.com>
2441
2442         login_tty: add missing dependency
2443         * modules/login_tty (Depends-on): Add pty.
2444
2445 2010-08-26  Eric Blake  <eblake@redhat.com>
2446
2447         lib-symbol-versions: fix m4 quoting
2448         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
2449         format for AC_LINK_IFELSE.
2450
2451         glob: fix compile test
2452         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
2453
2454         btowc: fix missing file
2455         * modules/btowc (Files): Also ship locale-fr.m4.
2456
2457         lseek: fix link test
2458         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
2459         AC_LINK_IFELSE.
2460
2461         include_next: silence autoconf 2.68 warning
2462         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
2463         AC_COMPILE_IFELSE as special.
2464         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
2465         autoconf < 2.68.
2466
2467         acl: fix compilation test
2468         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
2469         AC_COMPILE_IFELSE.
2470
2471 2010-08-26  Bruno Haible  <bruno@clisp.org>
2472
2473         Modernize AC_TRY_RUN invocations.
2474         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
2475         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
2476         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
2477         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
2478         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
2479         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
2480         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
2481         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
2482         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
2483         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
2484         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
2485         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
2486         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
2487         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
2488         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
2489         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
2490         gl_MBRLEN_NUL_RETVAL): Likewise.
2491         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
2492         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
2493         Likewise.
2494         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
2495         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
2496         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
2497         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
2498         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
2499         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
2500         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
2501         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
2502         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
2503         Likewise.
2504         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
2505         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
2506         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
2507         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
2508         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
2509         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
2510         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
2511         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
2512         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
2513         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
2514
2515 2010-08-26  Bruno Haible  <bruno@clisp.org>
2516
2517         Modernize AC_TRY_LINK invocations.
2518         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
2519         AC_TRY_LINK.
2520         * m4/argp.m4 (gl_ARGP): Likewise.
2521         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
2522         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
2523         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
2524         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
2525         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
2526         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
2527         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
2528         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
2529         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
2530         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
2531         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
2532         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
2533         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
2534         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
2535         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
2536         * m4/hostent.m4 (gl_HOSTENT): Likewise.
2537         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
2538         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
2539         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
2540         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
2541         Likewise.
2542         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
2543         Likewise.
2544         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
2545         Likewise.
2546         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
2547         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
2548         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
2549         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
2550         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
2551         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
2552         * m4/servent.m4 (gl_SERVENT): Likewise.
2553         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
2554         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
2555         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
2556         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
2557         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
2558         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
2559         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
2560         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
2561         * modules/tsearch-tests (configure.ac): Likewise.
2562
2563 2010-08-26  Bruno Haible  <bruno@clisp.org>
2564
2565         Modernize AC_TRY_COMPILE invocations.
2566         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
2567         AC_TRY_COMPILE.
2568         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
2569         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
2570         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
2571         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
2572         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
2573         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
2574         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
2575         * m4/lock.m4 (gl_LOCK): Likewise.
2576         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
2577         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
2578         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
2579         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
2580         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
2581         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
2582         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
2583         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
2584         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
2585         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
2586         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
2587         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
2588         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
2589         extraneous semicolon.
2590
2591 2010-08-26  Jim Meyering  <meyering@redhat.com>
2592
2593         stat-time: relax license LGPL
2594         * modules/stat-time (License): Change from GPL to LGPL,
2595         with consent from all contributors, for use in libguile.
2596         Requested by Ludovic Courtès.
2597
2598 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
2599
2600         poll: return immediately on POLLHUP.
2601         * lib/poll.c (poll): Always set timeout before wait_timeout is
2602         computed.
2603
2604 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2605
2606         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
2607         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
2608         rmdir ("dir/.//"), unlinkat.
2609
2610 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
2611
2612         stdbool: avoid spurious failure with modern xlc
2613         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
2614
2615 2010-08-24  Bruno Haible  <bruno@clisp.org>
2616
2617         getloadavg: simplify code
2618         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
2619         gl_have_func. Update comments.
2620
2621 2010-08-24  Eric Blake  <eblake@redhat.com>
2622
2623         getloadavg: don't define SVR4 on cygwin
2624         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
2625         only define SVR4 when -lkvm is required.
2626         Reported by Yaakov Selkowitz.
2627
2628 2010-08-24  Bruno Haible  <bruno@clisp.org>
2629
2630         priv-set: fix comment
2631         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
2632
2633 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
2634
2635         priv-set: fix comments
2636         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
2637         to match code, as suggested by David Bartley in:
2638         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
2639
2640 2010-08-23  Eric Blake  <eblake@redhat.com>
2641
2642         stdbool: avoid rejecting clang
2643         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
2644         * tests/test-stdbool.c: Enable more tests if using the system
2645         <stdbool.h> instead of the gnulib replacement.
2646         (main): Move xlc bug test to a runtime test for all compilers.
2647         Reported by Anders Kaseorg.
2648
2649         argz: fix shell quoting issue
2650         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
2651         Reported by Charles Wilson.
2652
2653 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
2654             Erik Faye-Lund <kusmabite@gmail.com>
2655
2656         poll, select: handle ERROR_BROKEN_PIPE.
2657         * lib/poll.c (win32_compute_revents): Return POLLHUP when
2658         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
2659         * lib/select.c (win32_compute_revents): Do not mark a pipe
2660         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
2661
2662 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
2663
2664         fts: allow compilation with C++
2665         * lib/fts_.h: Specify extern "C" linkage with C++.
2666
2667 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2668
2669         Fix gnulib-tool sed script de-commentation for AIX sed.
2670         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
2671         sed.
2672
2673 2010-08-17  Eric Blake  <eblake@redhat.com>
2674
2675         test-stddef: test for (some) offsetof bugs
2676         * tests/test-stddef.c: Enhance test to ensure correct type of
2677         offsetof.
2678         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
2679         that we are not fixing at this time.
2680
2681 2010-08-15  Bruno Haible  <bruno@clisp.org>
2682
2683         stpncpy: Allow stpncpy to be defined as a macro.
2684         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
2685         if it's already correctly declared.
2686         * lib/string.in.h (stpncpy): Undefine before redefining.
2687         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
2688
2689 2010-08-14  Bruno Haible  <bruno@clisp.org>
2690
2691         Rename module 'memxfrm' to 'amemxfrm'.
2692         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
2693         (amemxfrm): Renamed from memxfrm.
2694         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
2695         (amemxfrm): Renamed from memxfrm.
2696         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
2697         * NEWS: Mention the change.
2698         * MODULES.html.sh (String handling <string.h>): Update.
2699         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
2700         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
2701         * lib/unicase/u16-casexfrm.c: Likewise.
2702         * lib/unicase/u32-casexfrm.c: Likewise.
2703         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
2704         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
2705         * lib/uninorm/u16-normxfrm.c: Likewise.
2706         * lib/uninorm/u32-normxfrm.c: Likewise.
2707         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
2708         memxfrm.
2709         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
2710         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
2711         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
2712         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
2713         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
2714         Suggested by Paul Eggert.
2715
2716 2010-08-14  Bruno Haible  <bruno@clisp.org>
2717
2718         Tests for module 'astrxfrm'.
2719         * modules/astrxfrm-tests: New file.
2720         * tests/test-astrxfrm.c: New file.
2721
2722         New module 'astrxfrm'.
2723         * lib/astrxfrm.h: New file.
2724         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
2725         * modules/astrxfrm: New file.
2726
2727 2010-08-14  Reuben Thomas <rrt@sc3d.org>
2728
2729         regex: Tweak doc.
2730         * doc/regex.texi (Overview): Don't mention regex.c.
2731         (GNU Regular Expression Compiling): Likewise.
2732         (Match-end-of-line Operator): Mention 'not_eol'.
2733
2734 2010-08-14  Brian Gough  <bjg@gnu.org>
2735             Bruno Haible  <bruno@clisp.org>
2736
2737         git-merge-changelog: add doc relating to use with bzr and hg.
2738         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
2739
2740 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
2741
2742         pthread: fix pthread.h creation for srcdir != builddir
2743         * modules/pthread (Makefile.am): Fix the rule to work also in a
2744         non-srcdir build.
2745
2746 2010-08-13  Karl Berry  <karl@gnu.org>
2747
2748         * doc/regex.texi (Predefined Syntaxes): @smallexample.
2749         * doc/posix-*/*: force line break before @url of POSIX
2750         specifications.
2751         Suggested by Werner Lemberg.
2752
2753 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
2754
2755         strtod: fix const diagnostic
2756         * lib/strtod.c (strtod): Don't assign const char * to char *,
2757         as this elicits a warning from GCC when warnings are enabled.
2758
2759 2010-08-10  Pádraig Brady <P@draigbrady.com>
2760         and Eric Blake  <eblake@redhat.com>
2761
2762         copy-acl: ignore ENOTSUP on HP-UX
2763         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
2764         so that it is available for HP-UX.
2765         * lib/copy-acl.c (qcopy_acl): Use it.
2766         Reported by Patrick M. Callahan.
2767
2768 2010-08-10  Eric Blake  <eblake@redhat.com>
2769
2770         open, chown: relax license
2771         * modules/open (License): Change to LGPLv2+, with consent by all
2772         authors, for use in augeas.
2773         * modules/chown (License): Likewise.
2774         * modules/lchown (Likewise): Likewise.
2775         Requested by Adam Stokes.
2776
2777 2010-08-09  Karl Berry  <karl@gnu.org>
2778
2779         * build-aux/ar-lib: new file, import from Automake.
2780         * config/srclist.txt: autocheck for updates.
2781
2782 2010-08-09  Eric Blake  <eblake@redhat.com>
2783
2784         readlinkat: adjust client modules
2785         * modules/areadlinkat (Depends-on): Use readlinkat, not
2786         symlinkat.
2787         * modules/areadlinkat-with-size (Depends-on): Likewise.
2788
2789         mknod: be more vocal about danger of running tests as root
2790         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
2791         root, since that is just asking for problems.
2792         Suggested by Bruno Haible, based on a report by Rainer Tammer.
2793
2794         readlinkat: split into its own module
2795         * modules/symlinkat: Split readlinkat...
2796         * modules/readlinkat: ...into separate module.
2797         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
2798         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
2799         * lib/symlinkat.c (readlinkat): Move...
2800         * lib/readlinkat.c: ...into new file.
2801         * modules/symlinkat-tests: Split readlinkat test...
2802         * modules/readlinkat-tests: ...into separate module.
2803         * tests/test-symlinkat.c: Split...
2804         * tests/test-readlinkat.c: ...into new file.
2805         * NEWS: Document the split.
2806         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
2807         * lib/unistd.in.h (readlinkat): Likewise.
2808         Suggested by Bruno Haible.
2809
2810 2010-08-08  Bruno Haible  <bruno@clisp.org>
2811
2812         memxfrm: Speed up.
2813         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
2814         that usually only one call to strxfrm is necessary for each string
2815         part.
2816         Reported by Paul Eggert <eggert@cs.ucla.edu>.
2817
2818 2010-08-07  Karl Berry  <karl@gnu.org>
2819
2820         * doc/posix-headers/limits.texi,
2821         * doc/posix-functions/malloc.texi,
2822         * doc/posix-functions/strsignal.texi: missing @item.
2823         * doc/ld-version-script.texi: spurious leading i.
2824         * doc/regex.texi (Interval Operators): no commas inside @var.
2825
2826 2010-08-01  Bruno Haible  <bruno@clisp.org>
2827
2828         Integrate the regex documentation.
2829         * doc/gnulib.texi: Define 'cn' index.
2830         (Regular expressions): New a chapter that includes regex.texi and
2831         regexprops-generic.texi.
2832         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
2833         syntax.
2834
2835         Whitespace cleanup.
2836         * doc/regex.texi: Remove trailing spaces.
2837
2838         Add regex documentation.
2839         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
2840         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
2841         Written by Kathy A. Hargreaves and Karl Berry.
2842
2843 2010-08-01  Bruno Haible  <bruno@clisp.org>
2844
2845         link: Update documentation.
2846         * doc/posix-functions/link.texi: Update regarding Solaris.
2847
2848 2010-07-31  Bruno Haible  <bruno@clisp.org>
2849
2850         Update modules list.
2851         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
2852         (String handling <string.h>): Add memcmp2, memxfrm.
2853         (Container data structures): Add xlist, xsublist, xoset.
2854         (Core language properties): Add alignof, unused-parameter.
2855         (Process control, Numeric conversion functions <stdlib.h>): Renamed
2856         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
2857         (Unibyte characters <ctype.h>): New section.
2858         (String handling <string.h>): New section.
2859         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
2860         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
2861         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
2862         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
2863         tan, tanh, tanl, y0, y1, yn.
2864         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
2865         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
2866         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
2867         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
2868         unlockpt, vdprintf, vdprintf-posix.
2869         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
2870         (File system functions): Add concat-filename, sys_file, sys_ioctl,
2871         xconcat-filename.
2872         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
2873         getdtablesize, pipe2, pipe2-safer.
2874         (Security): New section.
2875         (Networking functions): Add accept4.
2876         (Signal handling): Add sigpipe.
2877         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
2878         mbmemcasecoll.
2879         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
2880         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
2881         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
2882         pipe-filter-ii.
2883         (Misc): Add argp-version-etc, login_tty, parse-duration.
2884
2885 2010-07-31  Bruno Haible  <bruno@clisp.org>
2886
2887         Improve doc in MODULES.html.
2888         * modules/linkat (Description): Add the word "function".
2889         * modules/mkfifo (Description): Likewise.
2890         * modules/mknod (Description): Likewise.
2891         * modules/remove (Description): Likewise.
2892         * modules/renameat (Description): Likewise.
2893         * modules/stat (Description): Likewise.
2894         * modules/symlink (Description): Likewise.
2895         * modules/unlink (Description): Likewise.
2896
2897 2010-07-31  Bruno Haible  <bruno@clisp.org>
2898
2899         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
2900         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
2901         option --enable/disable-c++ instead of --enable/disable-cxx.
2902         * NEWS: Mention the change.
2903
2904 2010-07-31  Bruno Haible  <bruno@clisp.org>
2905
2906         readlink, areadlink: Relax test a bit.
2907         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
2908         alternative to ENOTDIR.
2909         * tests/test-areadlink.h (test_areadlink): Likewise.
2910         Reported by Rainer Tammer.
2911
2912 2010-07-31  Bruno Haible  <bruno@clisp.org>
2913
2914         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
2915         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
2916         character, perform the search using U_STRCHR.
2917         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
2918         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
2919         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
2920         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
2921         Suggested by Paolo Bonzini.
2922
2923 2010-07-31  Bruno Haible  <bruno@clisp.org>
2924
2925         unistr/u*-strstr: Fix dependencies.
2926         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
2927         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
2928         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
2929
2930 2010-07-31  Bruno Haible  <bruno@clisp.org>
2931
2932         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
2933         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
2934         the beginning of the loop.
2935         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
2936         cases in 'switch' statement.
2937
2938         unistr/u8-strchr: Fix several bugs.
2939         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
2940         the string. When not found, return NULL, not a pointer near the end.
2941
2942         More tests for unistr/u8-strchr.
2943         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
2944         that the function does not read past the first occurrence of the byte
2945         being searched.
2946         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
2947         * tests/unistr/test-u16-strchr.c (main): New function.
2948         * tests/unistr/test-u32-strchr.c (main): New function.
2949
2950 2010-07-31  Bruno Haible  <bruno@clisp.org>
2951
2952         posix-modules: Ignore backup files of documentation files.
2953         * posix-modules: grep only through files named *.texi.
2954
2955 2010-07-31  Bruno Haible  <bruno@clisp.org>
2956
2957         symlinkat: Fix documentation.
2958         * doc/posix-functions/readlinkat.texi: Fix module name.
2959
2960 2010-07-31  Bruno Haible  <bruno@clisp.org>
2961
2962         fchownat: Replace also when chown has the trailing slash bug.
2963         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
2964         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
2965         introduced on 2010-04-10.
2966         Reported by Rainer Tammer.
2967
2968 2010-07-31  Bruno Haible  <bruno@clisp.org>
2969
2970         linkat: Work around AIX 7.1 bug.
2971         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
2972         whether linkat handles trailing slash correctly. If not, replace linkat
2973         and define LINKAT_TRAILING_SLASH_BUG.
2974         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
2975         check whether (fd1,file1) points to a directory if file1 or file2 ends
2976         in a slash. Code taken from lib/link.c.
2977         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
2978         Reported by Rainer Tammer.
2979
2980 2010-07-31  Bruno Haible  <bruno@clisp.org>
2981
2982         Correctly determine whether pow is available in libc on AIX 7 with xlc.
2983         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
2984         This disables an xlc optimization that was causing wrong test results.
2985         Reported by Rainer Tammer.
2986
2987 2010-07-31  Bruno Haible  <bruno@clisp.org>
2988
2989         iconv: Work around AIX 6.1..7.1 bug.
2990         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
2991         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
2992         cross-compiling, guess no on all versions of AIX.
2993         Reported by Rainer Tammer.
2994
2995 2010-07-31  Bruno Haible  <bruno@clisp.org>
2996
2997         readlink: Relax test a bit.
2998         * tests/test-readlink.h (test_readlink): Allow different errno value
2999         when readlink is called with a file name that ends in / and refers to
3000         a file.
3001         Suggested by Eric Blake.
3002         Reported by Rainer Tammer.
3003
3004 2010-07-31  Bruno Haible  <bruno@clisp.org>
3005
3006         copysign: Does not require -lm on glibc systems.
3007         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
3008         gl_COMMON_DOUBLE_MATHFUNC.
3009         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
3010
3011 2010-07-31  Bruno Haible  <bruno@clisp.org>
3012
3013         duplocale: Work around AIX 7.1 bug.
3014         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
3015         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
3016         * lib/duplocale.c (rpl_duplocale): Update comment.
3017         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
3018         Reported by Rainer Tammer.
3019
3020 2010-07-30  Bruno Haible  <bruno@clisp.org>
3021
3022         dirfd: Avoid link error on AIX 7.1.
3023         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
3024         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
3025         exist, set REPLACE_DIRFD.
3026         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
3027         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
3028         * doc/posix-functions/dirfd.texi: Update.
3029         Reported by Rainer Tammer.
3030
3031 2010-07-30  Eric Blake  <eblake@redhat.com>
3032
3033         strtod: next round of AIX fixes
3034         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
3035         exponent.
3036         * tests/test-strtod.c (main): Enhance tests.
3037         * doc/posix-functions/strtod.texi (strtod): Document next bug.
3038         Reported by Rainer Tammer.
3039
3040         futimens: fix configure check
3041         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
3042         Reported by Bruno Haible.
3043
3044 2010-07-30  Bruno Haible  <bruno@clisp.org>
3045
3046         getline: Update regarding AIX.
3047         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
3048         Reported by Rainer Tammer.
3049
3050 2010-07-30  Bruno Haible  <bruno@clisp.org>
3051
3052         wcwidth: Drop replacement on AIX 7.
3053         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
3054         AIX 7.
3055         Reported by Rainer Tammer.
3056
3057 2010-07-30  Bruno Haible  <bruno@clisp.org>
3058
3059         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
3060         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
3061         a 'char *'.
3062         Reported by Rainer Tammer.
3063
3064 2010-07-30  Bruno Haible  <bruno@clisp.org>
3065
3066         unlink: Update regarding AIX.
3067         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
3068         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
3069         Reported by Rainer Tammer.
3070
3071 2010-07-30  Bruno Haible  <bruno@clisp.org>
3072
3073         symlink: Update regarding AIX.
3074         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
3075         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
3076         Reported by Rainer Tammer.
3077
3078 2010-07-30  Bruno Haible  <bruno@clisp.org>
3079
3080         strndup: Update regarding AIX.
3081         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
3082         AIX 7.
3083         Reported by Rainer Tammer.
3084
3085 2010-07-30  Bruno Haible  <bruno@clisp.org>
3086
3087         stat: Update regarding AIX.
3088         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
3089         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
3090         Reported by Rainer Tammer.
3091
3092 2010-07-30  Bruno Haible  <bruno@clisp.org>
3093
3094         truncl: Fix autoconf test.
3095         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
3096         whether truncl works.
3097         Reported by Rainer Tammer.
3098
3099 2010-07-30  Bruno Haible  <bruno@clisp.org>
3100
3101         round: Update regarding AIX.
3102         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
3103         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
3104         Reported by Rainer Tammer.
3105
3106 2010-07-30  Bruno Haible  <bruno@clisp.org>
3107
3108         rename: Update regarding AIX.
3109         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
3110         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
3111         Reported by Rainer Tammer.
3112
3113 2010-07-30  Bruno Haible  <bruno@clisp.org>
3114
3115         printf.m4: Update regarding AIX.
3116         * m4/printf.m4: Update comments regarding AIX.
3117         Reported by Rainer Tammer.
3118
3119 2010-07-30  Bruno Haible  <bruno@clisp.org>
3120
3121         iconv: Update regarding AIX.
3122         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
3123         AIX 7.
3124         Reported by Rainer Tammer.
3125
3126 2010-07-30  Bruno Haible  <bruno@clisp.org>
3127
3128         getopt: Update regarding AIX.
3129         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
3130         no on AIX.
3131         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
3132         Reported by Rainer Tammer.
3133
3134 2010-07-30  Bruno Haible  <bruno@clisp.org>
3135
3136         ldexpl; Update regarding AIX.
3137         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
3138         on AIX 7.
3139         Reported by Rainer Tammer.
3140
3141 2010-07-30  Bruno Haible  <bruno@clisp.org>
3142
3143         frexpl: Update regarding AIX.
3144         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
3145         on AIX 7.
3146         Reported by Rainer Tammer.
3147
3148 2010-07-30  Bruno Haible  <bruno@clisp.org>
3149
3150         open, fopen: Update regarding AIX.
3151         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
3152         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
3153         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
3154         * doc/posix-functions/fopen.texi: Likewise.
3155         Reported by Rainer Tammer.
3156
3157 2010-07-30  Bruno Haible  <bruno@clisp.org>
3158
3159         chown: Update doc regarding AIX.
3160         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
3161         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
3162         Reported by Rainer Tammer.
3163
3164 2010-07-30  Eric Blake  <eblake@redhat.com>
3165
3166         strtod: fix bug in replacement function on AIX
3167         * lib/strtod.c (strtod): Special case broken "0x" parse in
3168         underlying strtod.
3169         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
3170         * doc/posix-functions/strtod.texi (strtod): Likewise.
3171         Reported by Rainer Tammer.
3172
3173 2010-07-30  Bruno Haible  <bruno@clisp.org>
3174
3175         mbrlen: Fix cross-compilation guess for AIX.
3176         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
3177         guess. Leftover from 2008-12-22.
3178
3179 2010-07-30  Bruno Haible  <bruno@clisp.org>
3180
3181         mbrtowc: Fix cross-compilation guess for AIX.
3182         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
3183         guess. Leftover from 2008-12-21.
3184
3185 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
3186
3187         init.sh: work around trap limitation of some shells
3188         * tests/init.sh (setup_): Move exit trap outside of shell function.
3189
3190 2010-07-29  Eric Blake  <eblake@redhat.com>
3191
3192         strtod: aid debugging
3193         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
3194         understanding why strtod is rejected.
3195
3196 2010-07-28  Bruno Haible  <bruno@clisp.org>
3197
3198         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
3199         * lib/unistr/u8-chr.c: Include <string.h>.
3200         * tests/unistr/test-u8-chr.c: Likewise.
3201         * tests/unistr/test-u16-chr.c: Likewise.
3202         * tests/unistr/test-u32-chr.c: Likewise.
3203         * tests/unistr/test-u8-strchr.c: Likewise.
3204         * tests/unistr/test-u16-strchr.c: Likewise.
3205         * tests/unistr/test-u32-strchr.c: Likewise.
3206         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
3207         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
3208         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
3209         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
3210
3211 2010-07-28  Bruno Haible  <bruno@clisp.org>
3212
3213         Use spaces for indentation, not tabs.
3214         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
3215
3216 2010-07-27  Bruno Haible  <bruno@clisp.org>
3217
3218         mbspcasecmp: Fix function specification.
3219         * lib/string.in.h (mbspcasecmp): Fix specification comment.
3220         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
3221         Reported by Eric Blake <eblake@redhat.com>.
3222
3223 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
3224
3225         timespec: use cast and not conditional, as truncation isn't possible
3226         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
3227         instead of a conditional.  Comment about the situation in more detail.
3228         This undoes most of the 2009-10-29 patch.
3229
3230 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
3231
3232         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
3233         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
3234         * lib/unistr/u8-strchr.c: Likewise.
3235         * modules/unistr/u8-chr: Depend on memchr.
3236
3237         unistr/u*-strchr: add tests
3238         * modules/unistr/u8-strchr-tests: New file.
3239         * modules/unistr/u16-strchr-tests: New file.
3240         * modules/unistr/u32-strchr-tests: New file.
3241         * tests/unistr/test-strchr.h: New file.
3242         * tests/unistr/test-u8-strchr.c: New file.
3243         * tests/unistr/test-u16-strchr.c: New file.
3244         * tests/unistr/test-u32-strchr.c: New file.
3245
3246         unistr/u*-chr: test multibyte sequences more
3247         * tests/unistr/test-chr.h: Do complete testing of the characters in the
3248         test vector.
3249         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
3250         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
3251         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
3252
3253         unistr/u*-chr: test multibyte sequences
3254         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
3255
3256         unistr/u*-chr: prepare for multibyte tests
3257         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
3258         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
3259         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
3260         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
3261         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
3262         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
3263
3264 2010-07-18  Bruno Haible  <bruno@clisp.org>
3265
3266         unistr/u8-strchr: Optimize non-ASCII argument case.
3267         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
3268         because the first byte often matches anyway.
3269         Reported by Pádraig Brady <P@draigbrady.com>.
3270
3271 2010-07-15  Karl Berry  <karl@gnu.org>
3272
3273         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
3274
3275 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
3276
3277         getcwd: on Solaris, work better if ancestors are inaccessible
3278         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
3279         buffer and size, try again with a large buffer.  This works better
3280         on Solaris, since its getcwd succeeds even if the path to the root
3281         is inaccessible, and this is helpful in common cases such as .zfs
3282         hidden directories.  Problem reported by J Chapman Flack in
3283         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
3284         Use system getcwd if it's declared, not merely if it's partly
3285         working; use the partly-working test only to avoid needless effort
3286         if the system getcwd fails.
3287         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
3288         comment that was already obsolete and is now even more obsolete.
3289         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
3290         now might call strdup.
3291
3292 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
3293
3294         pthread: Add enough so that coreutils/src/sort.c compiles.
3295         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
3296         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
3297         gnulib. Include <sched.h> and <time.h>, as per POSIX.
3298         Include <sys/types.h>, in case it defines pthread_t.
3299         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
3300         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
3301         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
3302         (pthread_rwlockattr_t, pthread_spinlock_t):
3303         New typedefs, if HAVE_PTHREAD_T is not defined.
3304         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
3305         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
3306         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
3307         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
3308         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
3309         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
3310         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
3311         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
3312         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
3313         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
3314         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
3315         New macros.
3316         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
3317         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
3318         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
3319         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
3320         (pthread_spin_unlock): New dummy functions.
3321         (pthread_create): Return EAGAIN; don't set errno.
3322         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
3323         require AC_C_INLINE.
3324         * modules/pthread (Depends-on): Add sched, time.
3325         (pthread.h): Use AM_V_GEN.
3326
3327 2010-07-13  Bruno Haible  <bruno@clisp.org>
3328
3329         striconveh: Don't malloc memory if the result buffer is sufficient.
3330         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
3331         buffer if its size is sufficient.
3332         Reported by Ludovic Courtès <ludo@gnu.org>.
3333
3334 2010-07-13  Bruno Haible  <bruno@clisp.org>
3335
3336         strtod: Add safety check.
3337         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
3338
3339 2010-07-12  Bruno Haible  <bruno@clisp.org>
3340
3341         Unify tests that set gl_cv_func_ldexpl_no_libm.
3342         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
3343         gl_FUNC_LDEXPL.
3344         (gl_FUNC_LDEXPL): Invoke it.
3345         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
3346
3347 2010-07-12  Bruno Haible  <bruno@clisp.org>
3348
3349         Unify tests that set gl_cv_func_ldexp_no_libm.
3350         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
3351         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
3352         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
3353         (configure.ac): Simply invoke gl_FUNC_LDEXP.
3354         * modules/strtod (Files): Add m4/ldexp.m4.
3355
3356 2010-07-12  Bruno Haible  <bruno@clisp.org>
3357
3358         Unify tests that set gl_cv_func_frexpl_no_libm.
3359         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
3360         gl_FUNC_FREXPL_NO_LIBM.
3361         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
3362         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
3363
3364 2010-07-12  Bruno Haible  <bruno@clisp.org>
3365
3366         Unify tests that set gl_cv_func_frexp_no_libm.
3367         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
3368         gl_FUNC_FREXP_NO_LIBM.
3369         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
3370         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
3371
3372 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
3373
3374         memcoll: clarify sizes versus lengths, document better, and tweak perf
3375         * lib/memcoll.c (strcoll_loop, memcoll0):
3376         Improve quality of descriptive comments.  Name variables
3377         consistently as to whether they are lengths (which do not include
3378         terminating null) versus sizes (which do).
3379         * lib/xmemcoll.c (xmemcoll0): Likewise.
3380         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
3381         returned when s1size == 0; this is easier to compile and saves
3382         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
3383
3384 2010-07-12  Bruno Haible  <bruno@clisp.org>
3385
3386         Tests for module '_Exit'.
3387         * modules/_Exit-tests: New file.
3388         * tests/test-_Exit.sh: New file.
3389         * tests/test-_Exit.c: New file.
3390
3391         New module '_Exit'.
3392         * lib/stdlib.in.h (__attribute__): New macro.
3393         (_Exit): New declaration.
3394         * lib/_Exit.c: New file.
3395         * m4/_Exit.m4: New file.
3396         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
3397         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
3398         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
3399         * modules/_Exit: New file.
3400         * tests/test-stdlib-c++.cc (_Exit): Check signature.
3401         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
3402
3403 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
3404
3405         strtod: make it more-accurate typically, and don't require libm
3406         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
3407         Include limits.h.  Don't include string.h.
3408         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
3409         (locale_isspace): New function, so that no casts are needed to
3410         check whether *s is a space.
3411         (ldexp): Provide an unused dummy if not available.
3412         (scale_radix_exp, parse_number, underlying_strtod): New functions.
3413         (strtod): Use them.  This implementation prefers to use the
3414         underlying strtod if available, falling back on our own code
3415         only to fix known bugs.  This is more likely to produce an
3416         accurate result.  Also, it avoids the use of libm functions.
3417         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
3418         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
3419         was absent, but it caused a test failure with coreutils.
3420         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
3421         with libm.
3422         * modules/strtod (Makefile.am, Link): libm is no longer needed.
3423         * modules/strtod-tests (Makefile.am): Likewise.
3424
3425 2010-07-11  Pádraig Brady  <P@draigBrady.com>
3426             Bruno Haible  <bruno@clisp.org>
3427
3428         unistr/u8-strchr: Optimize ASCII argument case.
3429         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
3430
3431 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
3432
3433         (x)memcoll: minor tweaks
3434         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
3435         is after the type that it qualifies.
3436         (memcoll0): Likewise.
3437         * lib/memcoll.h (memcoll0): Likewise.
3438         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
3439         * lib/xmemcoll.h (xmemcoll0): Likewise.
3440         * lib/memcoll.c (memcoll0): Correct the comment.  This function
3441         differs from memcoll in that the NUL byte is part of the argument.
3442         Omit the abort-checks, as performance is a real issue here.  Plus,
3443         the checks were wrong anyway (an off-by-one error).  Omit local
3444         variable 'diff', as it's a bit clearer that way.
3445         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
3446         no longer needed.
3447
3448 2010-07-08  Chen Guo <chenguo4@yahoo.com>
3449
3450         (x)memcoll: speedup when input is known to be NUL delimited
3451         * lib/memcoll.c: Include stdlib.
3452         (memcoll0) New function.
3453         (strcoll_loop) New function, refactored for use in both memcoll
3454         and memcoll0.
3455         * lib/memcoll.h: Add prototype for memcoll0.
3456         * lib/xmemcoll.c: (xmemcoll0) New function.
3457         (collate_error) New function, refactored for use in both xmemcoll
3458         and xmemcoll0.
3459         * lib/xmemcoll.h: Add prototype for xmemcoll0.
3460         * m4/memcoll.m4: add inline invocation.
3461
3462 2010-07-06  Pádraig Brady  <P@draigBrady.com>
3463
3464         * build-aux/bootstrap: Remove any local translations
3465         from the translation project synchronization directory,
3466         so that local only translations are not distributed.
3467
3468 2010-07-04  Bruno Haible  <bruno@clisp.org>
3469
3470         fsusage: Clarify which code applies to which platforms.
3471         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
3472         platform.
3473         * lib/fsusage.c (get_fs_usage): Likewise.
3474
3475 2010-07-04  Bruno Haible  <bruno@clisp.org>
3476
3477         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
3478         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
3479         Reported by Martin Lambers <marlam@marlam.de>.
3480
3481 2010-07-04  Jim Meyering  <meyering@redhat.com>
3482
3483         hash: once again explicitly disallow insertion of NULL
3484         * lib/hash.c (hash_insert0): Reinstate just-removed test:
3485         inserting a NULL pointer cannot work with these functions.
3486         Add a comment with details.
3487         This reverts part of the 2010-07-01 commit, 5bef1a35
3488         "hash: extend module to deal with non-pointer keys".
3489
3490 2010-07-01  Bruno Haible  <bruno@clisp.org>
3491
3492         stdbool: Update doc.
3493         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
3494         Info from Christian Weisgerber <naddy@mips.inka.de>.
3495
3496 2010-07-01  Jim Meyering  <meyering@redhat.com>
3497
3498         hash: extend module to deal with non-pointer keys
3499         * lib/hash.c (hash_insert0): New interface, much like hash_insert
3500         but that allows insertion of non-pointer entries.
3501         Do not disallow an ENTRY value of NULL.
3502         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
3503         * lib/hash.h (hash_insert0): Declare.
3504
3505 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
3506
3507         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
3508         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
3509         not present (i.e. with autoconf 2.59 and when using gettextize, not
3510         gnulib), require AC_GNU_SOURCE instead.
3511
3512 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
3513
3514         idpriv-drop: Fix tests.
3515         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
3516         not to the test-idpriv-droptemp program.
3517
3518 2010-06-29  Bruno Haible  <bruno@clisp.org>
3519
3520         string: Fix syntax error with g++ 2.96.
3521         * lib/string.in.h (__pure__): Remove definition.
3522         (_GL_ATTRIBUTE_PURE): New macro.
3523         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
3524         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
3525         Reported by Christian Weisgerber <naddy@mips.inka.de>.
3526
3527 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
3528
3529         unitypes: Fix bug introduced on 2010-05-18.
3530         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
3531
3532 2010-06-22  Eric Blake  <eblake@redhat.com>
3533
3534         memmem: slight optimization
3535         * lib/str-two-way.h (critical_factorization): Update comments.
3536         Reduce work during factorization phase.
3537         Reported by Carlos Bueno <carlos@bueno.org>.
3538
3539 2010-06-21  Bruno Haible  <bruno@clisp.org>
3540
3541         Fix HAVE_CALLOC_POSIX misnomer.
3542         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
3543         !HAVE_CALLOC_POSIX.
3544         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
3545         HAVE_CALLOC_POSIX.
3546         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
3547         instead of HAVE_CALLOC_POSIX.
3548         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
3549         HAVE_CALLOC_POSIX.
3550
3551         Use modern idiom for calloc() replacement.
3552         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
3553         AC_FUNC_CALLOC.
3554         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
3555         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
3556         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
3557         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
3558         (gl_REPLACE_CALLOC): New macro.
3559
3560 2010-06-21  Bruno Haible  <bruno@clisp.org>
3561
3562         Fix HAVE_REALLOC_POSIX misnomer.
3563         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
3564         !HAVE_REALLOC_POSIX.
3565         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
3566         HAVE_REALLOC_POSIX.
3567         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
3568         instead of HAVE_REALLOC_POSIX.
3569         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
3570         HAVE_REALLOC_POSIX.
3571
3572         Use modern idiom for realloc() replacement.
3573         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
3574         AC_FUNC_REALLOC.
3575         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
3576         Autoconf's AC_FUNC_REALLOC.
3577         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
3578         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
3579         (gl_REPLACE_REALLOC): New macro.
3580         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
3581
3582 2010-06-21  Bruno Haible  <bruno@clisp.org>
3583
3584         Fix HAVE_MALLOC_POSIX misnomer.
3585         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
3586         !HAVE_MALLOC_POSIX.
3587         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
3588         HAVE_MALLOC_POSIX.
3589         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
3590         instead of HAVE_MALLOC_POSIX.
3591         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
3592         HAVE_MALLOC_POSIX.
3593
3594         Use modern idiom for malloc() replacement.
3595         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
3596         AC_FUNC_MALLOC.
3597         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
3598         Autoconf's AC_FUNC_MALLOC.
3599         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
3600         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
3601         (gl_REPLACE_MALLOC): New macro.
3602         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
3603
3604 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
3605
3606         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
3607         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
3608         This macro takes 3 arguments, not 4.
3609
3610 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
3611
3612         ipv6: fix detection under mingw
3613         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
3614         in6_addr.
3615
3616 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
3617
3618         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
3619         that strtod() works when cross-compiling to a glibc version known
3620         to work.
3621
3622 2010-06-15  Bruno Haible  <bruno@clisp.org>
3623
3624         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
3625
3626 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
3627
3628         select: Correct timeout.
3629         * lib/select.c (rpl_select): Compute wait_timeout correctly.
3630
3631 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
3632
3633         git-version-gen: init shell var to avoid env var influence
3634         * build-aux/git-version-gen (v): Init shell var to empty.
3635
3636 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
3637
3638         priv-set: Don't assume that priv.h exists merely because getppriv does.
3639         See Jan Andersen's bug report about AIX 5L in
3640         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
3641         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
3642         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
3643         * lib/priv-set.h: Likewise.
3644         * tests/test-priv-set.c: Likewise.
3645
3646 2010-06-13  Bruno Haible  <bruno@clisp.org>
3647
3648         relocatable: Make it easier to test whether to install wrappers.
3649         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
3650         RELOCATABLE_VIA_WRAPPER.
3651
3652 2010-06-13  Bruno Haible  <bruno@clisp.org>
3653
3654         gnulib-tool: Display specified modules and dependencies differently.
3655         * gnulib-tool (func_show_module_list): New function.
3656         (func_import, func_create_testdir): Invoke it.
3657         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
3658
3659 2010-06-13  Bruno Haible  <bruno@clisp.org>
3660
3661         gnulib-tool: Align code of func_import and func_create_testdir.
3662         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
3663         specified_modules.
3664
3665 2010-06-12  Jim Meyering  <meyering@redhat.com>
3666
3667         test-inttostr: avoid spurious failure on Solaris 9
3668         * tests/test-inttostr.c (main): Skip the test when snprintf fails
3669         to accept "%ju".  Reported by Bruno Haible.
3670
3671 2010-06-11  Jim Meyering  <meyering@redhat.com>
3672
3673         test-sys_socket: mark variables as used more readably
3674         * tests/test-sys_socket.c (main): Mark otherwise unused variables
3675         as "used" explicitly via (void) statement casts.  This is more
3676         readable than using them in an artificial return expression.
3677         Suggestion from Bruno Haible.
3678
3679 2010-06-11  Bruno Haible  <bruno@clisp.org>
3680
3681         Avoid some more warnings from "gcc -Wwrite-strings".
3682         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
3683         to 'const char *'.
3684         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
3685         * tests/test-c-strcasestr.c (main): Likewise.
3686         * tests/test-mbscasestr1.c (main): Likewise.
3687         * tests/test-mbscasestr2.c (main): Likewise.
3688         * tests/test-memmem.c (main): Likewise.
3689         * tests/test-strstr.c (main): Likewise.
3690         * tests/test-strcasestr.c (main): Likewise.
3691
3692 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3693
3694         init.sh: change framework_failure_ to fail with status 99, not 1
3695         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
3696         automake's parallel-tests rule that this is an unexpected failure,
3697         even if the test is listed in XFAIL_TESTS.
3698
3699 2010-06-11  Jim Meyering  <meyering@redhat.com>
3700
3701         test-inttostr: avoid warnings about 4-6KB literal strings
3702         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
3703         Include "macros.h", for its definition of ASSERT.
3704         (CK): s/assert/ASSERT/
3705         * modules/inttostr-tests (Files): Add macros.h.
3706
3707         init.sh: don't use $ME_ or skip_ before they are defined
3708         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
3709         their first uses.  Also hoist their companions: warn_, fail_,
3710         framework_failure_, $stderr_fileno.  Prompted by a patch from
3711         Stefano Lattarini.
3712
3713         test-sys_socket: avoid set-but-not-used warnings from gcc
3714         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
3715         avoid warning about set-but-not-used variables.
3716
3717         test-xvasprintf: avoid 'const' discard warnings
3718         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
3719         "const" when assigning from literal strings.
3720         (test_xasprintf): Add "void" in function argument list to placate
3721         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
3722
3723         tests: avoid compilation warnings in argmatch and exclude tests...
3724         in packages that define ARGMATCH_DIE_DECL, like coreutils.
3725         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
3726         Since it always exits, declare with the "noreturn" attribute.
3727         * tests/test-argmatch.c: Likewise.
3728
3729         tests: avoid 'const' discard warnings in mbsstr tests
3730         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
3731         * tests/test-mbsstr2.c (main): Likewise.
3732
3733         test-verify: avoid warning from gcc's -Wmissing-declarations
3734         * tests/test-verify.c (function): Declare to be static.
3735
3736         test-inttostr.c: include <string.h> for use of strcmp
3737         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
3738
3739         test-linkat: avoid failed assertion on "other" architectures
3740         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
3741         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
3742         sparc: https://bugs.launchpad.net/bugs/591968
3743
3744 2010-06-11  Jim Meyering  <meyering@redhat.com>
3745
3746         printf.m4: avoid autoconf's "Expanded Before Required" warning
3747         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
3748         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
3749         autoconf warning.
3750
3751 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
3752
3753         Replacement header templates are now named with ".in", not "_".
3754         * doc/gnulib-intro.texi: Correct.
3755
3756 2010-06-10  Jim Meyering  <meyering@redhat.com>
3757
3758         inttostr-tests: depend on snprintf, not snprintf-posix
3759         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
3760         snprintf-posix, to avoid this aclocal failure:
3761           missing file gnulib-tests/vasnprintf.c
3762           configure.ac:45: error: expected source file, required through \
3763           AC_LIBSOURCES, not found
3764
3765 2010-06-10  Jim Meyering  <meyering@redhat.com>
3766
3767         inttostr: add a new function, inttostr, and tests
3768         The namesake function was not available.  The existence of the
3769         template file, inttostr.c makes its addition nontrivial.
3770         * lib/anytostr.c: Rename from inttostr.c.
3771         (anytostr): Rename from inttostr.
3772         * lib/inttostr.c: New file.
3773         * modules/inttostr (Files): Add anytostr.c.
3774         (Makefile.am): Set lib_SOURCES instead of ...
3775         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
3776         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
3777         * lib/offtostr.c: Likewise.
3778         * lib/uinttostr.c: Likewise.
3779         * lib/umaxtostr.c: Likewise.
3780         * modules/inttostr-tests: New file.
3781         * tests/test-inttostr.c: New file.  Test these functions.
3782
3783 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
3784             Bruno Haible  <bruno@clisp.org>
3785
3786         Add "Extending Gnulib" chapter to manual.
3787         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
3788         chapter.
3789         (Extending Gnulib): New chapter.
3790         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
3791         chapter.
3792
3793 2010-06-09  Bruno Haible  <bruno@clisp.org>
3794
3795         Avoid relocwrapper link errors due to gnulib replacement functions.
3796         * lib/areadlink.c: Use the system's malloc, realloc functions.
3797         (areadlink): Set errno to ENOMEM explicitly.
3798         * modules/areadlink (Depends-on): Remove malloc-posix.
3799         Reported by Ben Pfaff <blp@cs.stanford.edu>.
3800
3801 2010-06-09  Bruno Haible  <bruno@clisp.org>
3802
3803         Avoid relocwrapper link errors due to gnulib replacement functions.
3804         * lib/canonicalize-lgpl.c: Use the system's malloc function.
3805         * lib/malloca.c: Likewise.
3806         * lib/relocatable.c: Likewise.
3807         * lib/progreloc.c: Use the system's malloc, sprintf functions.
3808         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
3809         * lib/setenv.c: Use the system's malloc, realloc functions.
3810         * lib/strerror.c: Use the system's sprintf function.
3811         Reported by Ben Pfaff <blp@cs.stanford.edu>.
3812
3813 2010-06-04  Bruno Haible  <bruno@clisp.org>
3814
3815         Prefer documented low-level autoconf macro names.
3816         * m4/lib-link.m4: Use m4_translit instead of translit.
3817         * m4/environ.m4: Likewise.
3818         * m4/mathfunc.m4: Likewise.
3819         * m4/onceonly.m4: Likewise.
3820         * m4/stdint.m4: Likewise.
3821         Suggested by Eric Blake.
3822
3823 2010-06-04  Martin Lambers  <marlam@marlam.de>
3824             Bruno Haible  <bruno@clisp.org>
3825
3826         havelib: Allow library names with '+' characters.
3827         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
3828         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
3829
3830 2010-06-09  Bruno Haible  <bruno@clisp.org>
3831
3832         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
3833         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
3834         realloc failed.
3835
3836 2010-06-08  Peter Simons  <simons@cryp.to>
3837
3838         maint.mk: make the news-check rule more configurable
3839         * top/maint.mk (news-check-lines-spec) New variable.
3840         (news-check): Use "sed -n 1,10p" in place of "head".
3841
3842 2010-06-07  Jim Meyering  <meyering@redhat.com>
3843
3844         do-release-commit-and-tag: fix typo in --help
3845         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
3846
3847         regex: avoid new dead-code warning with gcc-4.6.0
3848         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
3849         if-block containing a while-loop.  It's been unused for at least
3850         5 years.
3851
3852 2010-06-05  Bruno Haible  <bruno@clisp.org>
3853
3854         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
3855         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
3856
3857 2010-06-04  Bruno Haible  <bruno@clisp.org>
3858
3859         Update to GNU gettext 0.18.1.
3860         * modules/gettext (configure.ac): Require gettext infrastructure from
3861         version 0.18.1.
3862
3863 2010-06-03  Bruno Haible  <bruno@clisp.org>
3864
3865         Don't use AC_LIBOBJ with file names in subdirectories.
3866         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
3867         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
3868         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
3869         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
3870         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
3871         gl_LIBUNISTRING_LIBSOURCE.
3872         (Makefile.am): Augment lib_SOURCES here, conditionally.
3873         * NEWS: Drop requirement for Automake option 'subdir-objects'.
3874
3875 2010-06-03  Bruno Haible  <bruno@clisp.org>
3876
3877         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
3878         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
3879         expansion does not end with a newline.
3880         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
3881         unnecessary newline.
3882
3883 2010-06-03  Bruno Haible  <bruno@clisp.org>
3884
3885         Reduce dependencies.
3886         * tests/test-quotearg.h: New file, extracted from
3887         tests/test-quotearg.c.
3888         * tests/test-quotearg-simple.c: New file, extracted from
3889         tests/test-quotearg.c.
3890         * tests/test-quotearg.c: Don't include <ctype.h>.
3891         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
3892         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
3893         use_quote_double_quotes, use_quotearg_colon): Moved to
3894         tests/test-quotearg.h.
3895         (results_g, flag_results, custom_quotes, custom_results): Moved
3896         to tests/test-quotearg-simple.c.
3897         (main): Moved the part that does not depend on gettext to
3898         tests/test-quotearg-simple.c. Return 77 if the test cannot be
3899         performed.
3900         * modules/quotearg-simple: New file.
3901         * modules/quotearg-simple-tests: New file.
3902         * modules/quotearg (Depends-on): Add quotearg-simple.
3903         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
3904         (Files): Add tests/test-quotearg.h.
3905         Reported by Paolo Bonzini.
3906
3907 2010-06-03  Bruno Haible  <bruno@clisp.org>
3908
3909         Reduce dependencies.
3910         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
3911
3912 2010-06-03  Bruno Haible  <bruno@clisp.org>
3913
3914         time: Undefine more broken macros.
3915         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
3916         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
3917         Reported by Eric Blake.
3918
3919 2010-06-03  Bruno Haible  <bruno@clisp.org>
3920
3921         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
3922         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
3923         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
3924         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
3925         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
3926         Reported by Ludovic Courtès <ludo@gnu.org>.
3927
3928 2010-06-02  Eric Blake  <eblake@redhat.com>
3929
3930         time: work with mingw + pthreads-win32 library
3931         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
3932         if timespec is defined only in pthread.h.
3933         * modules/time (Makefile.am): Substitute it.
3934         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
3935         <pthread.h>, when needed.
3936         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
3937         from the library.
3938
3939 2010-05-31  Bruno Haible  <bruno@clisp.org>
3940
3941         Avoid expanding two macros in the wrong order.
3942         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
3943         gl_LIBUNISTRING if it is defined.
3944         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
3945         autoconf >= 2.64.
3946         Reported by Ludovic Courtès <ludo@gnu.org>.
3947
3948 2010-05-27  Jim Meyering  <meyering@redhat.com>
3949
3950         maint.mk: also prohibit "#undef" of always-defined symbols
3951         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
3952         Allow more than one space before the symbol name.
3953         (sc_prohibit_always-defined_macros): Use grep's -E, now that
3954         the regexp uses alternation.
3955
3956 2010-05-26  Eric Blake  <eblake@redhat.com>
3957
3958         maint.mk: avoid echo -e
3959         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
3960         Convert all uses of echo -* to printf.
3961         Reported by Matthias Bolte.
3962
3963 2010-05-25  Bruno Haible  <bruno@clisp.org>
3964
3965         Update to GNU gettext 0.18, part 2.
3966         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
3967         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
3968
3969 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3970
3971         Add missing include in test-pwrite.c.
3972         * tests/test-pwrite.c: Include string.h, for strcmp.
3973
3974 2010-05-24  Bruno Haible  <bruno@clisp.org>
3975
3976         * NEWS: Mention requirement for Automake option 'subdir-objects'.
3977
3978 2010-05-24  Bruno Haible  <bruno@clisp.org>
3979
3980         Don't use conversion with transliteration in u{8,16,32}_strcoll.
3981         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
3982         iconveh_error argument.
3983         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
3984         U_STRCONV_TO_LOCALE.
3985         * lib/unistr/u16-strcoll.c: Likewise.
3986         * lib/unistr/u32-strcoll.c: Likewise.
3987         * modules/unistr/u8-strcoll (Depends-on): Add
3988         uniconv/u8-strconv-to-enc, localcharset. Remove
3989         uniconv/u8-strconv-to-locale.
3990         (configure.ac): Bump version number.
3991         * modules/unistr/u16-strcoll (Depends-on): Add
3992         uniconv/u16-strconv-to-enc, localcharset. Remove
3993         uniconv/u16-strconv-to-locale.
3994         (configure.ac): Bump version number.
3995         * modules/unistr/u32-strcoll (Depends-on): Add
3996         uniconv/u32-strconv-to-enc, localcharset. Remove
3997         uniconv/u32-strconv-to-locale.
3998         (configure.ac): Bump version number.
3999
4000 2010-05-24  Bruno Haible  <bruno@clisp.org>
4001
4002         Avoid a test failure on NetBSD 5.0.
4003         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
4004         an iconv() bug.
4005
4006 2010-05-24  Bruno Haible  <bruno@clisp.org>
4007
4008         Adjust #include directive style.
4009         * modules/regex (Includes): Recommend to write <regex.h>.
4010
4011 2010-05-24  Bruno Haible  <bruno@clisp.org>
4012
4013         regex: Don't require alloca.
4014         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
4015         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
4016         only inside if (0).
4017
4018 2010-05-23  Jim Meyering  <meyering@redhat.com>
4019
4020         test-renameat.c: include <sys/stat.h>
4021         * tests/test-renameat.c: Include <sys/stat.h>; required for
4022         definition of S_IS* macros.
4023
4024 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
4025
4026         Update maintainer documentation for 'relocatable-prog' module.
4027         * doc/relocatable-maint.texi: Update.
4028         Comments by Bruno Haible.
4029
4030 2010-05-23  Bruno Haible  <bruno@clisp.org>
4031
4032         git-merge-changelog: Enable --split-merged-entry by default.
4033         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
4034         (usage): Don't mention this option any more.
4035         Reported by Ralf Wildenhues.
4036
4037 2010-05-23  Jim Meyering  <meyering@redhat.com>
4038
4039         test-pwrite: do not leave behind a test file named "out"
4040         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
4041         The trivial-looking use of init.sh is really necessary.
4042         It ensures that the temporary file, "out", is created in
4043         a temporary directory, and removed upon termination.
4044         * tests/test-pwrite.sh: Re-add file.
4045         * modules/pwrite-tests: Reference it.
4046
4047 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4048
4049         Fix output redirection buglet in init.sh.
4050         * tests/init.sh: Fix redirection of stderr.
4051
4052 2010-05-20  Simon Josefsson  <simon@josefsson.org>
4053
4054         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
4055
4056 2010-05-17  Simon Josefsson  <simon@josefsson.org>
4057
4058         * modules/valgrind-tests: New file.
4059         * m4/valgrind-tests.m4: New file.
4060         * doc/valgrind-tests.texi: New file.
4061         * doc/gnulib.texi (Running self-tests under valgrind): New
4062         section.
4063
4064 2010-05-19  Bruno Haible  <bruno@clisp.org>
4065
4066         Clean up dead code in recent commit.
4067         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
4068         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
4069         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
4070         Suggested by Paolo Bonzini.
4071
4072 2010-05-19  Bruno Haible  <bruno@clisp.org>
4073
4074         Avoid valgrind error reports from libunistring.
4075         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
4076         * modules/libunistring (Files): Add it.
4077         * modules/libunistring-optional (Files): Likewise.
4078
4079 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
4080             Bruno Haible  <bruno@clisp.org>
4081
4082         New module 'libunistring-optional'.
4083         * modules/libunistring-optional: New file.
4084         * m4/libunistring-base.m4: New file.
4085         * m4/libunistring-optional.m4: New file.
4086         * lib/unicase.in.h: Renamed from lib/unicase.h.
4087         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
4088         * lib/unictype.in.h: Renamed from lib/unictype.h.
4089         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
4090         * lib/uniname.in.h: Renamed from lib/uniname.h.
4091         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
4092         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
4093         * lib/unistr.in.h: Renamed from lib/unistr.h.
4094         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
4095         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
4096         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
4097         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
4098         gl_LIBUNISTRING. If the library was found, determine the installed
4099         version and set LIBUNISTRING_VERSION.
4100         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
4101         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
4102         handle a configuration option --with-included-libunistring.
4103         * modules/libunistring (Files): Add m4/absolute-header.m4.
4104         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
4105         Add m4/libunistring-base.m4.
4106         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
4107         (Makefile.am): Build unicase.h from unicase.in.h.
4108         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
4109         Add m4/libunistring-base.m4.
4110         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
4111         (Makefile.am): Build uniconv.h from uniconv.in.h.
4112         * modules/unictype/base (Files): Use unictype.in.h instead of
4113         unictype.h. Add m4/libunistring-base.m4.
4114         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
4115         (Makefile.am): Build unictype.h from unictype.in.h.
4116         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
4117         Add m4/libunistring-base.m4.
4118         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
4119         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
4120         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
4121         Add m4/libunistring-base.m4.
4122         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
4123         (Makefile.am): Build uniname.h from uniname.in.h.
4124         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
4125         Add m4/libunistring-base.m4.
4126         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
4127         (Makefile.am): Build uninorm.h from uninorm.in.h.
4128         * modules/unistdio/base (Files): Use unistdio.in.h instead of
4129         unistdio.h. Add m4/libunistring-base.m4.
4130         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
4131         (Makefile.am): Build unistdio.h from unistdio.in.h.
4132         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
4133         Add m4/libunistring-base.m4.
4134         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
4135         (Makefile.am): Build unistr.h from unistr.in.h.
4136         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
4137         Add m4/libunistring-base.m4.
4138         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
4139         (Makefile.am): Build unitypes.h from unitypes.in.h.
4140         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
4141         Add m4/libunistring-base.m4.
4142         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
4143         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
4144         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
4145         uniwidth.h. Add m4/libunistring-base.m4.
4146         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
4147         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
4148         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
4149         instead of augmenting lib_SOURCES.
4150         * modules/unicase/empty-suffix-context: Likewise.
4151         * modules/unicase/locale-language: Likewise.
4152         * modules/unicase/tolower: Likewise.
4153         * modules/unicase/totitle: Likewise.
4154         * modules/unicase/toupper: Likewise.
4155         * modules/unicase/u8-casecmp: Likewise.
4156         * modules/unicase/u8-casecoll: Likewise.
4157         * modules/unicase/u8-casefold: Likewise.
4158         * modules/unicase/u8-casexfrm: Likewise.
4159         * modules/unicase/u8-ct-casefold: Likewise.
4160         * modules/unicase/u8-ct-tolower: Likewise.
4161         * modules/unicase/u8-ct-totitle: Likewise.
4162         * modules/unicase/u8-ct-toupper: Likewise.
4163         * modules/unicase/u8-is-cased: Likewise.
4164         * modules/unicase/u8-is-casefolded: Likewise.
4165         * modules/unicase/u8-is-lowercase: Likewise.
4166         * modules/unicase/u8-is-titlecase: Likewise.
4167         * modules/unicase/u8-is-uppercase: Likewise.
4168         * modules/unicase/u8-prefix-context: Likewise.
4169         * modules/unicase/u8-suffix-context: Likewise.
4170         * modules/unicase/u8-tolower: Likewise.
4171         * modules/unicase/u8-totitle: Likewise.
4172         * modules/unicase/u8-toupper: Likewise.
4173         * modules/unicase/u16-casecmp: Likewise.
4174         * modules/unicase/u16-casecoll: Likewise.
4175         * modules/unicase/u16-casefold: Likewise.
4176         * modules/unicase/u16-casexfrm: Likewise.
4177         * modules/unicase/u16-ct-casefold: Likewise.
4178         * modules/unicase/u16-ct-tolower: Likewise.
4179         * modules/unicase/u16-ct-totitle: Likewise.
4180         * modules/unicase/u16-ct-toupper: Likewise.
4181         * modules/unicase/u16-is-cased: Likewise.
4182         * modules/unicase/u16-is-casefolded: Likewise.
4183         * modules/unicase/u16-is-lowercase: Likewise.
4184         * modules/unicase/u16-is-titlecase: Likewise.
4185         * modules/unicase/u16-is-uppercase: Likewise.
4186         * modules/unicase/u16-prefix-context: Likewise.
4187         * modules/unicase/u16-suffix-context: Likewise.
4188         * modules/unicase/u16-tolower: Likewise.
4189         * modules/unicase/u16-totitle: Likewise.
4190         * modules/unicase/u16-toupper: Likewise.
4191         * modules/unicase/u32-casecmp: Likewise.
4192         * modules/unicase/u32-casecoll: Likewise.
4193         * modules/unicase/u32-casefold: Likewise.
4194         * modules/unicase/u32-casexfrm: Likewise.
4195         * modules/unicase/u32-ct-casefold: Likewise.
4196         * modules/unicase/u32-ct-tolower: Likewise.
4197         * modules/unicase/u32-ct-totitle: Likewise.
4198         * modules/unicase/u32-ct-toupper: Likewise.
4199         * modules/unicase/u32-is-cased: Likewise.
4200         * modules/unicase/u32-is-casefolded: Likewise.
4201         * modules/unicase/u32-is-lowercase: Likewise.
4202         * modules/unicase/u32-is-titlecase: Likewise.
4203         * modules/unicase/u32-is-uppercase: Likewise.
4204         * modules/unicase/u32-prefix-context: Likewise.
4205         * modules/unicase/u32-suffix-context: Likewise.
4206         * modules/unicase/u32-tolower: Likewise.
4207         * modules/unicase/u32-totitle: Likewise.
4208         * modules/unicase/u32-toupper: Likewise.
4209         * modules/unicase/ulc-casecmp: Likewise.
4210         * modules/unicase/ulc-casecoll: Likewise.
4211         * modules/unicase/ulc-casexfrm: Likewise.
4212         * modules/uniconv/u8-conv-from-enc: Likewise.
4213         * modules/uniconv/u8-conv-to-enc: Likewise.
4214         * modules/uniconv/u8-strconv-from-enc: Likewise.
4215         * modules/uniconv/u8-strconv-from-locale: Likewise.
4216         * modules/uniconv/u8-strconv-to-enc: Likewise.
4217         * modules/uniconv/u8-strconv-to-locale: Likewise.
4218         * modules/uniconv/u16-conv-from-enc: Likewise.
4219         * modules/uniconv/u16-conv-to-enc: Likewise.
4220         * modules/uniconv/u16-strconv-from-enc: Likewise.
4221         * modules/uniconv/u16-strconv-from-locale: Likewise.
4222         * modules/uniconv/u16-strconv-to-enc: Likewise.
4223         * modules/uniconv/u16-strconv-to-locale: Likewise.
4224         * modules/uniconv/u32-conv-from-enc: Likewise.
4225         * modules/uniconv/u32-conv-to-enc: Likewise.
4226         * modules/uniconv/u32-strconv-from-enc: Likewise.
4227         * modules/uniconv/u32-strconv-from-locale: Likewise.
4228         * modules/uniconv/u32-strconv-to-enc: Likewise.
4229         * modules/uniconv/u32-strconv-to-locale: Likewise.
4230         * modules/unictype/bidicategory-byname: Likewise.
4231         * modules/unictype/bidicategory-name: Likewise.
4232         * modules/unictype/bidicategory-of: Likewise.
4233         * modules/unictype/bidicategory-test: Likewise.
4234         * modules/unictype/block-list: Likewise.
4235         * modules/unictype/block-test: Likewise.
4236         * modules/unictype/category-C: Likewise.
4237         * modules/unictype/category-Cc: Likewise.
4238         * modules/unictype/category-Cf: Likewise.
4239         * modules/unictype/category-Cn: Likewise.
4240         * modules/unictype/category-Co: Likewise.
4241         * modules/unictype/category-Cs: Likewise.
4242         * modules/unictype/category-L: Likewise.
4243         * modules/unictype/category-Ll: Likewise.
4244         * modules/unictype/category-Lm: Likewise.
4245         * modules/unictype/category-Lo: Likewise.
4246         * modules/unictype/category-Lt: Likewise.
4247         * modules/unictype/category-Lu: Likewise.
4248         * modules/unictype/category-M: Likewise.
4249         * modules/unictype/category-Mc: Likewise.
4250         * modules/unictype/category-Me: Likewise.
4251         * modules/unictype/category-Mn: Likewise.
4252         * modules/unictype/category-N: Likewise.
4253         * modules/unictype/category-Nd: Likewise.
4254         * modules/unictype/category-Nl: Likewise.
4255         * modules/unictype/category-No: Likewise.
4256         * modules/unictype/category-P: Likewise.
4257         * modules/unictype/category-Pc: Likewise.
4258         * modules/unictype/category-Pd: Likewise.
4259         * modules/unictype/category-Pe: Likewise.
4260         * modules/unictype/category-Pf: Likewise.
4261         * modules/unictype/category-Pi: Likewise.
4262         * modules/unictype/category-Po: Likewise.
4263         * modules/unictype/category-Ps: Likewise.
4264         * modules/unictype/category-S: Likewise.
4265         * modules/unictype/category-Sc: Likewise.
4266         * modules/unictype/category-Sk: Likewise.
4267         * modules/unictype/category-Sm: Likewise.
4268         * modules/unictype/category-So: Likewise.
4269         * modules/unictype/category-Z: Likewise.
4270         * modules/unictype/category-Zl: Likewise.
4271         * modules/unictype/category-Zp: Likewise.
4272         * modules/unictype/category-Zs: Likewise.
4273         * modules/unictype/category-and: Likewise.
4274         * modules/unictype/category-and-not: Likewise.
4275         * modules/unictype/category-byname: Likewise.
4276         * modules/unictype/category-name: Likewise.
4277         * modules/unictype/category-none: Likewise.
4278         * modules/unictype/category-of: Likewise.
4279         * modules/unictype/category-or: Likewise.
4280         * modules/unictype/category-test: Likewise.
4281         * modules/unictype/combining-class: Likewise.
4282         * modules/unictype/ctype-alnum: Likewise.
4283         * modules/unictype/ctype-alpha: Likewise.
4284         * modules/unictype/ctype-blank: Likewise.
4285         * modules/unictype/ctype-cntrl: Likewise.
4286         * modules/unictype/ctype-digit: Likewise.
4287         * modules/unictype/ctype-graph: Likewise.
4288         * modules/unictype/ctype-lower: Likewise.
4289         * modules/unictype/ctype-print: Likewise.
4290         * modules/unictype/ctype-punct: Likewise.
4291         * modules/unictype/ctype-space: Likewise.
4292         * modules/unictype/ctype-upper: Likewise.
4293         * modules/unictype/ctype-xdigit: Likewise.
4294         * modules/unictype/decimal-digit: Likewise.
4295         * modules/unictype/digit: Likewise.
4296         * modules/unictype/mirror: Likewise.
4297         * modules/unictype/numeric: Likewise.
4298         * modules/unictype/property-alphabetic: Likewise.
4299         * modules/unictype/property-ascii-hex-digit: Likewise.
4300         * modules/unictype/property-bidi-arabic-digit: Likewise.
4301         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
4302         * modules/unictype/property-bidi-block-separator: Likewise.
4303         * modules/unictype/property-bidi-boundary-neutral: Likewise.
4304         * modules/unictype/property-bidi-common-separator: Likewise.
4305         * modules/unictype/property-bidi-control: Likewise.
4306         * modules/unictype/property-bidi-embedding-or-override: Likewise.
4307         * modules/unictype/property-bidi-eur-num-separator: Likewise.
4308         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
4309         * modules/unictype/property-bidi-european-digit: Likewise.
4310         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
4311         * modules/unictype/property-bidi-left-to-right: Likewise.
4312         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
4313         * modules/unictype/property-bidi-other-neutral: Likewise.
4314         * modules/unictype/property-bidi-pdf: Likewise.
4315         * modules/unictype/property-bidi-segment-separator: Likewise.
4316         * modules/unictype/property-bidi-whitespace: Likewise.
4317         * modules/unictype/property-byname: Likewise.
4318         * modules/unictype/property-combining: Likewise.
4319         * modules/unictype/property-composite: Likewise.
4320         * modules/unictype/property-currency-symbol: Likewise.
4321         * modules/unictype/property-dash: Likewise.
4322         * modules/unictype/property-decimal-digit: Likewise.
4323         * modules/unictype/property-default-ignorable-code-point: Likewise.
4324         * modules/unictype/property-deprecated: Likewise.
4325         * modules/unictype/property-diacritic: Likewise.
4326         * modules/unictype/property-extender: Likewise.
4327         * modules/unictype/property-format-control: Likewise.
4328         * modules/unictype/property-grapheme-base: Likewise.
4329         * modules/unictype/property-grapheme-extend: Likewise.
4330         * modules/unictype/property-grapheme-link: Likewise.
4331         * modules/unictype/property-hex-digit: Likewise.
4332         * modules/unictype/property-hyphen: Likewise.
4333         * modules/unictype/property-id-continue: Likewise.
4334         * modules/unictype/property-id-start: Likewise.
4335         * modules/unictype/property-ideographic: Likewise.
4336         * modules/unictype/property-ids-binary-operator: Likewise.
4337         * modules/unictype/property-ids-trinary-operator: Likewise.
4338         * modules/unictype/property-ignorable-control: Likewise.
4339         * modules/unictype/property-iso-control: Likewise.
4340         * modules/unictype/property-join-control: Likewise.
4341         * modules/unictype/property-left-of-pair: Likewise.
4342         * modules/unictype/property-line-separator: Likewise.
4343         * modules/unictype/property-logical-order-exception: Likewise.
4344         * modules/unictype/property-lowercase: Likewise.
4345         * modules/unictype/property-math: Likewise.
4346         * modules/unictype/property-non-break: Likewise.
4347         * modules/unictype/property-not-a-character: Likewise.
4348         * modules/unictype/property-numeric: Likewise.
4349         * modules/unictype/property-other-alphabetic: Likewise.
4350         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
4351         * modules/unictype/property-other-grapheme-extend: Likewise.
4352         * modules/unictype/property-other-id-continue: Likewise.
4353         * modules/unictype/property-other-id-start: Likewise.
4354         * modules/unictype/property-other-lowercase: Likewise.
4355         * modules/unictype/property-other-math: Likewise.
4356         * modules/unictype/property-other-uppercase: Likewise.
4357         * modules/unictype/property-paired-punctuation: Likewise.
4358         * modules/unictype/property-paragraph-separator: Likewise.
4359         * modules/unictype/property-pattern-syntax: Likewise.
4360         * modules/unictype/property-pattern-white-space: Likewise.
4361         * modules/unictype/property-private-use: Likewise.
4362         * modules/unictype/property-punctuation: Likewise.
4363         * modules/unictype/property-quotation-mark: Likewise.
4364         * modules/unictype/property-radical: Likewise.
4365         * modules/unictype/property-sentence-terminal: Likewise.
4366         * modules/unictype/property-soft-dotted: Likewise.
4367         * modules/unictype/property-space: Likewise.
4368         * modules/unictype/property-terminal-punctuation: Likewise.
4369         * modules/unictype/property-test: Likewise.
4370         * modules/unictype/property-titlecase: Likewise.
4371         * modules/unictype/property-unassigned-code-value: Likewise.
4372         * modules/unictype/property-unified-ideograph: Likewise.
4373         * modules/unictype/property-uppercase: Likewise.
4374         * modules/unictype/property-variation-selector: Likewise.
4375         * modules/unictype/property-white-space: Likewise.
4376         * modules/unictype/property-xid-continue: Likewise.
4377         * modules/unictype/property-xid-start: Likewise.
4378         * modules/unictype/property-zero-width: Likewise.
4379         * modules/unictype/scripts: Likewise.
4380         * modules/unictype/syntax-c-ident: Likewise.
4381         * modules/unictype/syntax-c-whitespace: Likewise.
4382         * modules/unictype/syntax-java-ident: Likewise.
4383         * modules/unictype/syntax-java-whitespace: Likewise.
4384         * modules/unilbrk/u8-possible-linebreaks: Likewise.
4385         * modules/unilbrk/u8-width-linebreaks: Likewise.
4386         * modules/unilbrk/u16-possible-linebreaks: Likewise.
4387         * modules/unilbrk/u16-width-linebreaks: Likewise.
4388         * modules/unilbrk/u32-possible-linebreaks: Likewise.
4389         * modules/unilbrk/u32-width-linebreaks: Likewise.
4390         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
4391         * modules/unilbrk/ulc-width-linebreaks: Likewise.
4392         * modules/uniname/uniname: Likewise.
4393         * modules/uninorm/canonical-decomposition: Likewise.
4394         * modules/uninorm/composition: Likewise.
4395         * modules/uninorm/decomposing-form: Likewise.
4396         * modules/uninorm/decomposition: Likewise.
4397         * modules/uninorm/filter: Likewise.
4398         * modules/uninorm/nfc: Likewise.
4399         * modules/uninorm/nfd: Likewise.
4400         * modules/uninorm/nfkc: Likewise.
4401         * modules/uninorm/nfkd: Likewise.
4402         * modules/uninorm/u8-normalize: Likewise.
4403         * modules/uninorm/u8-normcmp: Likewise.
4404         * modules/uninorm/u8-normcoll: Likewise.
4405         * modules/uninorm/u8-normxfrm: Likewise.
4406         * modules/uninorm/u16-normalize: Likewise.
4407         * modules/uninorm/u16-normcmp: Likewise.
4408         * modules/uninorm/u16-normcoll: Likewise.
4409         * modules/uninorm/u16-normxfrm: Likewise.
4410         * modules/uninorm/u32-normalize: Likewise.
4411         * modules/uninorm/u32-normcmp: Likewise.
4412         * modules/uninorm/u32-normcoll: Likewise.
4413         * modules/uninorm/u32-normxfrm: Likewise.
4414         * modules/unistdio/u8-asnprintf: Likewise.
4415         * modules/unistdio/u8-asprintf: Likewise.
4416         * modules/unistdio/u8-snprintf: Likewise.
4417         * modules/unistdio/u8-sprintf: Likewise.
4418         * modules/unistdio/u8-u8-asnprintf: Likewise.
4419         * modules/unistdio/u8-u8-asprintf: Likewise.
4420         * modules/unistdio/u8-u8-snprintf: Likewise.
4421         * modules/unistdio/u8-u8-sprintf: Likewise.
4422         * modules/unistdio/u8-u8-vasnprintf: Likewise.
4423         * modules/unistdio/u8-u8-vasprintf: Likewise.
4424         * modules/unistdio/u8-u8-vsnprintf: Likewise.
4425         * modules/unistdio/u8-u8-vsprintf: Likewise.
4426         * modules/unistdio/u8-vasnprintf: Likewise.
4427         * modules/unistdio/u8-vasprintf: Likewise.
4428         * modules/unistdio/u8-vsnprintf: Likewise.
4429         * modules/unistdio/u8-vsprintf: Likewise.
4430         * modules/unistdio/u16-asnprintf: Likewise.
4431         * modules/unistdio/u16-asprintf: Likewise.
4432         * modules/unistdio/u16-snprintf: Likewise.
4433         * modules/unistdio/u16-sprintf: Likewise.
4434         * modules/unistdio/u16-u16-asnprintf: Likewise.
4435         * modules/unistdio/u16-u16-asprintf: Likewise.
4436         * modules/unistdio/u16-u16-snprintf: Likewise.
4437         * modules/unistdio/u16-u16-sprintf: Likewise.
4438         * modules/unistdio/u16-u16-vasnprintf: Likewise.
4439         * modules/unistdio/u16-u16-vasprintf: Likewise.
4440         * modules/unistdio/u16-u16-vsnprintf: Likewise.
4441         * modules/unistdio/u16-u16-vsprintf: Likewise.
4442         * modules/unistdio/u16-vasnprintf: Likewise.
4443         * modules/unistdio/u16-vasprintf: Likewise.
4444         * modules/unistdio/u16-vsnprintf: Likewise.
4445         * modules/unistdio/u16-vsprintf: Likewise.
4446         * modules/unistdio/u32-asnprintf: Likewise.
4447         * modules/unistdio/u32-asprintf: Likewise.
4448         * modules/unistdio/u32-snprintf: Likewise.
4449         * modules/unistdio/u32-sprintf: Likewise.
4450         * modules/unistdio/u32-u32-asnprintf: Likewise.
4451         * modules/unistdio/u32-u32-asprintf: Likewise.
4452         * modules/unistdio/u32-u32-snprintf: Likewise.
4453         * modules/unistdio/u32-u32-sprintf: Likewise.
4454         * modules/unistdio/u32-u32-vasnprintf: Likewise.
4455         * modules/unistdio/u32-u32-vasprintf: Likewise.
4456         * modules/unistdio/u32-u32-vsnprintf: Likewise.
4457         * modules/unistdio/u32-u32-vsprintf: Likewise.
4458         * modules/unistdio/u32-vasnprintf: Likewise.
4459         * modules/unistdio/u32-vasprintf: Likewise.
4460         * modules/unistdio/u32-vsnprintf: Likewise.
4461         * modules/unistdio/u32-vsprintf: Likewise.
4462         * modules/unistdio/ulc-asnprintf: Likewise.
4463         * modules/unistdio/ulc-asprintf: Likewise.
4464         * modules/unistdio/ulc-fprintf: Likewise.
4465         * modules/unistdio/ulc-snprintf: Likewise.
4466         * modules/unistdio/ulc-sprintf: Likewise.
4467         * modules/unistdio/ulc-vasnprintf: Likewise.
4468         * modules/unistdio/ulc-vasprintf: Likewise.
4469         * modules/unistdio/ulc-vfprintf: Likewise.
4470         * modules/unistdio/ulc-vsnprintf: Likewise.
4471         * modules/unistdio/ulc-vsprintf: Likewise.
4472         * modules/unistr/u8-check: Likewise.
4473         * modules/unistr/u8-chr: Likewise.
4474         * modules/unistr/u8-cmp: Likewise.
4475         * modules/unistr/u8-cmp2: Likewise.
4476         * modules/unistr/u8-cpy: Likewise.
4477         * modules/unistr/u8-cpy-alloc: Likewise.
4478         * modules/unistr/u8-endswith: Likewise.
4479         * modules/unistr/u8-mblen: Likewise.
4480         * modules/unistr/u8-mbsnlen: Likewise.
4481         * modules/unistr/u8-mbtouc: Likewise.
4482         * modules/unistr/u8-mbtouc-unsafe: Likewise.
4483         * modules/unistr/u8-mbtoucr: Likewise.
4484         * modules/unistr/u8-move: Likewise.
4485         * modules/unistr/u8-next: Likewise.
4486         * modules/unistr/u8-prev: Likewise.
4487         * modules/unistr/u8-set: Likewise.
4488         * modules/unistr/u8-startswith: Likewise.
4489         * modules/unistr/u8-stpcpy: Likewise.
4490         * modules/unistr/u8-stpncpy: Likewise.
4491         * modules/unistr/u8-strcat: Likewise.
4492         * modules/unistr/u8-strchr: Likewise.
4493         * modules/unistr/u8-strcmp: Likewise.
4494         * modules/unistr/u8-strcoll: Likewise.
4495         * modules/unistr/u8-strcpy: Likewise.
4496         * modules/unistr/u8-strcspn: Likewise.
4497         * modules/unistr/u8-strdup: Likewise.
4498         * modules/unistr/u8-strlen: Likewise.
4499         * modules/unistr/u8-strmblen: Likewise.
4500         * modules/unistr/u8-strmbtouc: Likewise.
4501         * modules/unistr/u8-strncat: Likewise.
4502         * modules/unistr/u8-strncmp: Likewise.
4503         * modules/unistr/u8-strncpy: Likewise.
4504         * modules/unistr/u8-strnlen: Likewise.
4505         * modules/unistr/u8-strpbrk: Likewise.
4506         * modules/unistr/u8-strrchr: Likewise.
4507         * modules/unistr/u8-strspn: Likewise.
4508         * modules/unistr/u8-strstr: Likewise.
4509         * modules/unistr/u8-strtok: Likewise.
4510         * modules/unistr/u8-to-u16: Likewise.
4511         * modules/unistr/u8-to-u32: Likewise.
4512         * modules/unistr/u8-uctomb: Likewise.
4513         * modules/unistr/u16-check: Likewise.
4514         * modules/unistr/u16-chr: Likewise.
4515         * modules/unistr/u16-cmp: Likewise.
4516         * modules/unistr/u16-cmp2: Likewise.
4517         * modules/unistr/u16-cpy: Likewise.
4518         * modules/unistr/u16-cpy-alloc: Likewise.
4519         * modules/unistr/u16-endswith: Likewise.
4520         * modules/unistr/u16-mblen: Likewise.
4521         * modules/unistr/u16-mbsnlen: Likewise.
4522         * modules/unistr/u16-mbtouc: Likewise.
4523         * modules/unistr/u16-mbtouc-unsafe: Likewise.
4524         * modules/unistr/u16-mbtoucr: Likewise.
4525         * modules/unistr/u16-move: Likewise.
4526         * modules/unistr/u16-next: Likewise.
4527         * modules/unistr/u16-prev: Likewise.
4528         * modules/unistr/u16-set: Likewise.
4529         * modules/unistr/u16-startswith: Likewise.
4530         * modules/unistr/u16-stpcpy: Likewise.
4531         * modules/unistr/u16-stpncpy: Likewise.
4532         * modules/unistr/u16-strcat: Likewise.
4533         * modules/unistr/u16-strchr: Likewise.
4534         * modules/unistr/u16-strcmp: Likewise.
4535         * modules/unistr/u16-strcoll: Likewise.
4536         * modules/unistr/u16-strcpy: Likewise.
4537         * modules/unistr/u16-strcspn: Likewise.
4538         * modules/unistr/u16-strdup: Likewise.
4539         * modules/unistr/u16-strlen: Likewise.
4540         * modules/unistr/u16-strmblen: Likewise.
4541         * modules/unistr/u16-strmbtouc: Likewise.
4542         * modules/unistr/u16-strncat: Likewise.
4543         * modules/unistr/u16-strncmp: Likewise.
4544         * modules/unistr/u16-strncpy: Likewise.
4545         * modules/unistr/u16-strnlen: Likewise.
4546         * modules/unistr/u16-strpbrk: Likewise.
4547         * modules/unistr/u16-strrchr: Likewise.
4548         * modules/unistr/u16-strspn: Likewise.
4549         * modules/unistr/u16-strstr: Likewise.
4550         * modules/unistr/u16-strtok: Likewise.
4551         * modules/unistr/u16-to-u32: Likewise.
4552         * modules/unistr/u16-to-u8: Likewise.
4553         * modules/unistr/u16-uctomb: Likewise.
4554         * modules/unistr/u32-check: Likewise.
4555         * modules/unistr/u32-chr: Likewise.
4556         * modules/unistr/u32-cmp: Likewise.
4557         * modules/unistr/u32-cmp2: Likewise.
4558         * modules/unistr/u32-cpy: Likewise.
4559         * modules/unistr/u32-cpy-alloc: Likewise.
4560         * modules/unistr/u32-endswith: Likewise.
4561         * modules/unistr/u32-mblen: Likewise.
4562         * modules/unistr/u32-mbsnlen: Likewise.
4563         * modules/unistr/u32-mbtouc: Likewise.
4564         * modules/unistr/u32-mbtouc-unsafe: Likewise.
4565         * modules/unistr/u32-mbtoucr: Likewise.
4566         * modules/unistr/u32-move: Likewise.
4567         * modules/unistr/u32-next: Likewise.
4568         * modules/unistr/u32-prev: Likewise.
4569         * modules/unistr/u32-set: Likewise.
4570         * modules/unistr/u32-startswith: Likewise.
4571         * modules/unistr/u32-stpcpy: Likewise.
4572         * modules/unistr/u32-stpncpy: Likewise.
4573         * modules/unistr/u32-strcat: Likewise.
4574         * modules/unistr/u32-strchr: Likewise.
4575         * modules/unistr/u32-strcmp: Likewise.
4576         * modules/unistr/u32-strcoll: Likewise.
4577         * modules/unistr/u32-strcpy: Likewise.
4578         * modules/unistr/u32-strcspn: Likewise.
4579         * modules/unistr/u32-strdup: Likewise.
4580         * modules/unistr/u32-strlen: Likewise.
4581         * modules/unistr/u32-strmblen: Likewise.
4582         * modules/unistr/u32-strmbtouc: Likewise.
4583         * modules/unistr/u32-strncat: Likewise.
4584         * modules/unistr/u32-strncmp: Likewise.
4585         * modules/unistr/u32-strncpy: Likewise.
4586         * modules/unistr/u32-strnlen: Likewise.
4587         * modules/unistr/u32-strpbrk: Likewise.
4588         * modules/unistr/u32-strrchr: Likewise.
4589         * modules/unistr/u32-strspn: Likewise.
4590         * modules/unistr/u32-strstr: Likewise.
4591         * modules/unistr/u32-strtok: Likewise.
4592         * modules/unistr/u32-to-u16: Likewise.
4593         * modules/unistr/u32-to-u8: Likewise.
4594         * modules/unistr/u32-uctomb: Likewise.
4595         * modules/uniwbrk/u8-wordbreaks: Likewise.
4596         * modules/uniwbrk/u16-wordbreaks: Likewise.
4597         * modules/uniwbrk/u32-wordbreaks: Likewise.
4598         * modules/uniwbrk/ulc-wordbreaks: Likewise.
4599         * modules/uniwbrk/wordbreak-property: Likewise.
4600         * modules/uniwidth/u8-strwidth: Likewise.
4601         * modules/uniwidth/u8-width: Likewise.
4602         * modules/uniwidth/u16-strwidth: Likewise.
4603         * modules/uniwidth/u16-width: Likewise.
4604         * modules/uniwidth/u32-strwidth: Likewise.
4605         * modules/uniwidth/u32-width: Likewise.
4606         * modules/uniwidth/width: Likewise.
4607         * modules/unicase/cased-tests (Makefile.am): Link all test programs
4608         with $(LIBUNISTRING).
4609         * modules/unicase/ignorable-tests: Likewise.
4610         * modules/unicase/locale-language-tests: Likewise.
4611         * modules/unicase/tolower-tests: Likewise.
4612         * modules/unicase/totitle-tests: Likewise.
4613         * modules/unicase/toupper-tests: Likewise.
4614         * modules/unicase/u8-casecmp-tests: Likewise.
4615         * modules/unicase/u8-casecoll-tests: Likewise.
4616         * modules/unicase/u8-casefold-tests: Likewise.
4617         * modules/unicase/u8-is-cased-tests: Likewise.
4618         * modules/unicase/u8-is-casefolded-tests: Likewise.
4619         * modules/unicase/u8-is-lowercase-tests: Likewise.
4620         * modules/unicase/u8-is-titlecase-tests: Likewise.
4621         * modules/unicase/u8-is-uppercase-tests: Likewise.
4622         * modules/unicase/u8-tolower-tests: Likewise.
4623         * modules/unicase/u8-totitle-tests: Likewise.
4624         * modules/unicase/u8-toupper-tests: Likewise.
4625         * modules/unicase/u16-casecmp-tests: Likewise.
4626         * modules/unicase/u16-casecoll-tests: Likewise.
4627         * modules/unicase/u16-casefold-tests: Likewise.
4628         * modules/unicase/u16-is-cased-tests: Likewise.
4629         * modules/unicase/u16-is-casefolded-tests: Likewise.
4630         * modules/unicase/u16-is-lowercase-tests: Likewise.
4631         * modules/unicase/u16-is-titlecase-tests: Likewise.
4632         * modules/unicase/u16-is-uppercase-tests: Likewise.
4633         * modules/unicase/u16-tolower-tests: Likewise.
4634         * modules/unicase/u16-totitle-tests: Likewise.
4635         * modules/unicase/u16-toupper-tests: Likewise.
4636         * modules/unicase/u32-casecmp-tests: Likewise.
4637         * modules/unicase/u32-casecoll-tests: Likewise.
4638         * modules/unicase/u32-casefold-tests: Likewise.
4639         * modules/unicase/u32-is-cased-tests: Likewise.
4640         * modules/unicase/u32-is-casefolded-tests: Likewise.
4641         * modules/unicase/u32-is-lowercase-tests: Likewise.
4642         * modules/unicase/u32-is-titlecase-tests: Likewise.
4643         * modules/unicase/u32-is-uppercase-tests: Likewise.
4644         * modules/unicase/u32-tolower-tests: Likewise.
4645         * modules/unicase/u32-totitle-tests: Likewise.
4646         * modules/unicase/u32-toupper-tests: Likewise.
4647         * modules/unicase/ulc-casecmp-tests: Likewise.
4648         * modules/unicase/ulc-casecoll-tests: Likewise.
4649         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
4650         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
4651         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
4652         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
4653         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
4654         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
4655         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
4656         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
4657         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
4658         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
4659         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
4660         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
4661         * modules/unictype/bidicategory-byname-tests: Likewise.
4662         * modules/unictype/bidicategory-name-tests: Likewise.
4663         * modules/unictype/bidicategory-of-tests: Likewise.
4664         * modules/unictype/bidicategory-test-tests: Likewise.
4665         * modules/unictype/block-list-tests: Likewise.
4666         * modules/unictype/block-of-tests: Likewise.
4667         * modules/unictype/block-test-tests: Likewise.
4668         * modules/unictype/category-C-tests: Likewise.
4669         * modules/unictype/category-Cc-tests: Likewise.
4670         * modules/unictype/category-Cf-tests: Likewise.
4671         * modules/unictype/category-Cn-tests: Likewise.
4672         * modules/unictype/category-Co-tests: Likewise.
4673         * modules/unictype/category-Cs-tests: Likewise.
4674         * modules/unictype/category-L-tests: Likewise.
4675         * modules/unictype/category-Ll-tests: Likewise.
4676         * modules/unictype/category-Lm-tests: Likewise.
4677         * modules/unictype/category-Lo-tests: Likewise.
4678         * modules/unictype/category-Lt-tests: Likewise.
4679         * modules/unictype/category-Lu-tests: Likewise.
4680         * modules/unictype/category-M-tests: Likewise.
4681         * modules/unictype/category-Mc-tests: Likewise.
4682         * modules/unictype/category-Me-tests: Likewise.
4683         * modules/unictype/category-Mn-tests: Likewise.
4684         * modules/unictype/category-N-tests: Likewise.
4685         * modules/unictype/category-Nd-tests: Likewise.
4686         * modules/unictype/category-Nl-tests: Likewise.
4687         * modules/unictype/category-No-tests: Likewise.
4688         * modules/unictype/category-P-tests: Likewise.
4689         * modules/unictype/category-Pc-tests: Likewise.
4690         * modules/unictype/category-Pd-tests: Likewise.
4691         * modules/unictype/category-Pe-tests: Likewise.
4692         * modules/unictype/category-Pf-tests: Likewise.
4693         * modules/unictype/category-Pi-tests: Likewise.
4694         * modules/unictype/category-Po-tests: Likewise.
4695         * modules/unictype/category-Ps-tests: Likewise.
4696         * modules/unictype/category-S-tests: Likewise.
4697         * modules/unictype/category-Sc-tests: Likewise.
4698         * modules/unictype/category-Sk-tests: Likewise.
4699         * modules/unictype/category-Sm-tests: Likewise.
4700         * modules/unictype/category-So-tests: Likewise.
4701         * modules/unictype/category-Z-tests: Likewise.
4702         * modules/unictype/category-Zl-tests: Likewise.
4703         * modules/unictype/category-Zp-tests: Likewise.
4704         * modules/unictype/category-Zs-tests: Likewise.
4705         * modules/unictype/category-and-not-tests: Likewise.
4706         * modules/unictype/category-and-tests: Likewise.
4707         * modules/unictype/category-byname-tests: Likewise.
4708         * modules/unictype/category-name-tests: Likewise.
4709         * modules/unictype/category-none-tests: Likewise.
4710         * modules/unictype/category-of-tests: Likewise.
4711         * modules/unictype/category-or-tests: Likewise.
4712         * modules/unictype/category-test-withtable-tests: Likewise.
4713         * modules/unictype/combining-class-tests: Likewise.
4714         * modules/unictype/ctype-alnum-tests: Likewise.
4715         * modules/unictype/ctype-alpha-tests: Likewise.
4716         * modules/unictype/ctype-blank-tests: Likewise.
4717         * modules/unictype/ctype-cntrl-tests: Likewise.
4718         * modules/unictype/ctype-digit-tests: Likewise.
4719         * modules/unictype/ctype-graph-tests: Likewise.
4720         * modules/unictype/ctype-lower-tests: Likewise.
4721         * modules/unictype/ctype-print-tests: Likewise.
4722         * modules/unictype/ctype-punct-tests: Likewise.
4723         * modules/unictype/ctype-space-tests: Likewise.
4724         * modules/unictype/ctype-upper-tests: Likewise.
4725         * modules/unictype/ctype-xdigit-tests: Likewise.
4726         * modules/unictype/decimal-digit-tests: Likewise.
4727         * modules/unictype/digit-tests: Likewise.
4728         * modules/unictype/mirror-tests: Likewise.
4729         * modules/unictype/numeric-tests: Likewise.
4730         * modules/unictype/property-alphabetic-tests: Likewise.
4731         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
4732         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
4733         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
4734         * modules/unictype/property-bidi-block-separator-tests: Likewise.
4735         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
4736         * modules/unictype/property-bidi-common-separator-tests: Likewise.
4737         * modules/unictype/property-bidi-control-tests: Likewise.
4738         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
4739         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
4740         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
4741         * modules/unictype/property-bidi-european-digit-tests: Likewise.
4742         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
4743         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
4744         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
4745         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
4746         * modules/unictype/property-bidi-pdf-tests: Likewise.
4747         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
4748         * modules/unictype/property-bidi-whitespace-tests: Likewise.
4749         * modules/unictype/property-byname-tests: Likewise.
4750         * modules/unictype/property-combining-tests: Likewise.
4751         * modules/unictype/property-composite-tests: Likewise.
4752         * modules/unictype/property-currency-symbol-tests: Likewise.
4753         * modules/unictype/property-dash-tests: Likewise.
4754         * modules/unictype/property-decimal-digit-tests: Likewise.
4755         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
4756         * modules/unictype/property-deprecated-tests: Likewise.
4757         * modules/unictype/property-diacritic-tests: Likewise.
4758         * modules/unictype/property-extender-tests: Likewise.
4759         * modules/unictype/property-format-control-tests: Likewise.
4760         * modules/unictype/property-grapheme-base-tests: Likewise.
4761         * modules/unictype/property-grapheme-extend-tests: Likewise.
4762         * modules/unictype/property-grapheme-link-tests: Likewise.
4763         * modules/unictype/property-hex-digit-tests: Likewise.
4764         * modules/unictype/property-hyphen-tests: Likewise.
4765         * modules/unictype/property-id-continue-tests: Likewise.
4766         * modules/unictype/property-id-start-tests: Likewise.
4767         * modules/unictype/property-ideographic-tests: Likewise.
4768         * modules/unictype/property-ids-binary-operator-tests: Likewise.
4769         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
4770         * modules/unictype/property-ignorable-control-tests: Likewise.
4771         * modules/unictype/property-iso-control-tests: Likewise.
4772         * modules/unictype/property-join-control-tests: Likewise.
4773         * modules/unictype/property-left-of-pair-tests: Likewise.
4774         * modules/unictype/property-line-separator-tests: Likewise.
4775         * modules/unictype/property-logical-order-exception-tests: Likewise.
4776         * modules/unictype/property-lowercase-tests: Likewise.
4777         * modules/unictype/property-math-tests: Likewise.
4778         * modules/unictype/property-non-break-tests: Likewise.
4779         * modules/unictype/property-not-a-character-tests: Likewise.
4780         * modules/unictype/property-numeric-tests: Likewise.
4781         * modules/unictype/property-other-alphabetic-tests: Likewise.
4782         * modules/unictype/property-other-default-ignorable-code-point-tests:
4783         Likewise.
4784         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
4785         * modules/unictype/property-other-id-continue-tests: Likewise.
4786         * modules/unictype/property-other-id-start-tests: Likewise.
4787         * modules/unictype/property-other-lowercase-tests: Likewise.
4788         * modules/unictype/property-other-math-tests: Likewise.
4789         * modules/unictype/property-other-uppercase-tests: Likewise.
4790         * modules/unictype/property-paired-punctuation-tests: Likewise.
4791         * modules/unictype/property-paragraph-separator-tests: Likewise.
4792         * modules/unictype/property-pattern-syntax-tests: Likewise.
4793         * modules/unictype/property-pattern-white-space-tests: Likewise.
4794         * modules/unictype/property-private-use-tests: Likewise.
4795         * modules/unictype/property-punctuation-tests: Likewise.
4796         * modules/unictype/property-quotation-mark-tests: Likewise.
4797         * modules/unictype/property-radical-tests: Likewise.
4798         * modules/unictype/property-sentence-terminal-tests: Likewise.
4799         * modules/unictype/property-soft-dotted-tests: Likewise.
4800         * modules/unictype/property-space-tests: Likewise.
4801         * modules/unictype/property-terminal-punctuation-tests: Likewise.
4802         * modules/unictype/property-test-tests: Likewise.
4803         * modules/unictype/property-titlecase-tests: Likewise.
4804         * modules/unictype/property-unassigned-code-value-tests: Likewise.
4805         * modules/unictype/property-unified-ideograph-tests: Likewise.
4806         * modules/unictype/property-uppercase-tests: Likewise.
4807         * modules/unictype/property-variation-selector-tests: Likewise.
4808         * modules/unictype/property-white-space-tests: Likewise.
4809         * modules/unictype/property-xid-continue-tests: Likewise.
4810         * modules/unictype/property-xid-start-tests: Likewise.
4811         * modules/unictype/property-zero-width-tests: Likewise.
4812         * modules/unictype/scripts-tests: Likewise.
4813         * modules/unictype/syntax-c-ident-tests: Likewise.
4814         * modules/unictype/syntax-c-whitespace-tests: Likewise.
4815         * modules/unictype/syntax-java-ident-tests: Likewise.
4816         * modules/unictype/syntax-java-whitespace-tests: Likewise.
4817         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
4818         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
4819         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
4820         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
4821         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
4822         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
4823         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
4824         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
4825         * modules/uniname/uniname-tests: Likewise.
4826         * modules/uninorm/canonical-decomposition-tests: Likewise.
4827         * modules/uninorm/compat-decomposition-tests: Likewise.
4828         * modules/uninorm/composition-tests: Likewise.
4829         * modules/uninorm/decomposing-form-tests: Likewise.
4830         * modules/uninorm/decomposition-tests: Likewise.
4831         * modules/uninorm/filter-tests: Likewise.
4832         * modules/uninorm/nfc-tests: Likewise.
4833         * modules/uninorm/nfd-tests: Likewise.
4834         * modules/uninorm/nfkc-tests: Likewise.
4835         * modules/uninorm/nfkd-tests: Likewise.
4836         * modules/uninorm/u8-normcmp-tests: Likewise.
4837         * modules/uninorm/u8-normcoll-tests: Likewise.
4838         * modules/uninorm/u16-normcmp-tests: Likewise.
4839         * modules/uninorm/u16-normcoll-tests: Likewise.
4840         * modules/uninorm/u32-normcmp-tests: Likewise.
4841         * modules/uninorm/u32-normcoll-tests: Likewise.
4842         * modules/unistdio/u8-asnprintf-tests: Likewise.
4843         * modules/unistdio/u8-vasnprintf-tests: Likewise.
4844         * modules/unistdio/u8-vasprintf-tests: Likewise.
4845         * modules/unistdio/u8-vsnprintf-tests: Likewise.
4846         * modules/unistdio/u8-vsprintf-tests: Likewise.
4847         * modules/unistdio/u16-asnprintf-tests: Likewise.
4848         * modules/unistdio/u16-vasnprintf-tests: Likewise.
4849         * modules/unistdio/u16-vasprintf-tests: Likewise.
4850         * modules/unistdio/u16-vsnprintf-tests: Likewise.
4851         * modules/unistdio/u16-vsprintf-tests: Likewise.
4852         * modules/unistdio/u32-asnprintf-tests: Likewise.
4853         * modules/unistdio/u32-vasnprintf-tests: Likewise.
4854         * modules/unistdio/u32-vasprintf-tests: Likewise.
4855         * modules/unistdio/u32-vsnprintf-tests: Likewise.
4856         * modules/unistdio/u32-vsprintf-tests: Likewise.
4857         * modules/unistdio/ulc-asnprintf-tests: Likewise.
4858         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
4859         * modules/unistdio/ulc-vasprintf-tests: Likewise.
4860         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
4861         * modules/unistdio/ulc-vsprintf-tests: Likewise.
4862         * modules/unistr/u8-check-tests: Likewise.
4863         * modules/unistr/u8-chr-tests: Likewise.
4864         * modules/unistr/u8-cmp-tests: Likewise.
4865         * modules/unistr/u8-cmp2-tests: Likewise.
4866         * modules/unistr/u8-cpy-alloc-tests: Likewise.
4867         * modules/unistr/u8-cpy-tests: Likewise.
4868         * modules/unistr/u8-mblen-tests: Likewise.
4869         * modules/unistr/u8-mbsnlen-tests: Likewise.
4870         * modules/unistr/u8-mbtouc-tests: Likewise.
4871         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
4872         * modules/unistr/u8-mbtoucr-tests: Likewise.
4873         * modules/unistr/u8-move-tests: Likewise.
4874         * modules/unistr/u8-next-tests: Likewise.
4875         * modules/unistr/u8-prev-tests: Likewise.
4876         * modules/unistr/u8-set-tests: Likewise.
4877         * modules/unistr/u8-stpcpy-tests: Likewise.
4878         * modules/unistr/u8-stpncpy-tests: Likewise.
4879         * modules/unistr/u8-strcat-tests: Likewise.
4880         * modules/unistr/u8-strcmp-tests: Likewise.
4881         * modules/unistr/u8-strcoll-tests: Likewise.
4882         * modules/unistr/u8-strcpy-tests: Likewise.
4883         * modules/unistr/u8-strdup-tests: Likewise.
4884         * modules/unistr/u8-strlen-tests: Likewise.
4885         * modules/unistr/u8-strmblen-tests: Likewise.
4886         * modules/unistr/u8-strmbtouc-tests: Likewise.
4887         * modules/unistr/u8-strncat-tests: Likewise.
4888         * modules/unistr/u8-strncmp-tests: Likewise.
4889         * modules/unistr/u8-strncpy-tests: Likewise.
4890         * modules/unistr/u8-strnlen-tests: Likewise.
4891         * modules/unistr/u8-to-u16-tests: Likewise.
4892         * modules/unistr/u8-to-u32-tests: Likewise.
4893         * modules/unistr/u8-uctomb-tests: Likewise.
4894         * modules/unistr/u16-check-tests: Likewise.
4895         * modules/unistr/u16-chr-tests: Likewise.
4896         * modules/unistr/u16-cmp-tests: Likewise.
4897         * modules/unistr/u16-cmp2-tests: Likewise.
4898         * modules/unistr/u16-cpy-alloc-tests: Likewise.
4899         * modules/unistr/u16-cpy-tests: Likewise.
4900         * modules/unistr/u16-mblen-tests: Likewise.
4901         * modules/unistr/u16-mbsnlen-tests: Likewise.
4902         * modules/unistr/u16-mbtouc-tests: Likewise.
4903         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
4904         * modules/unistr/u16-mbtoucr-tests: Likewise.
4905         * modules/unistr/u16-move-tests: Likewise.
4906         * modules/unistr/u16-next-tests: Likewise.
4907         * modules/unistr/u16-prev-tests: Likewise.
4908         * modules/unistr/u16-set-tests: Likewise.
4909         * modules/unistr/u16-stpcpy-tests: Likewise.
4910         * modules/unistr/u16-stpncpy-tests: Likewise.
4911         * modules/unistr/u16-strcat-tests: Likewise.
4912         * modules/unistr/u16-strcmp-tests: Likewise.
4913         * modules/unistr/u16-strcoll-tests: Likewise.
4914         * modules/unistr/u16-strcpy-tests: Likewise.
4915         * modules/unistr/u16-strdup-tests: Likewise.
4916         * modules/unistr/u16-strlen-tests: Likewise.
4917         * modules/unistr/u16-strmblen-tests: Likewise.
4918         * modules/unistr/u16-strmbtouc-tests: Likewise.
4919         * modules/unistr/u16-strncat-tests: Likewise.
4920         * modules/unistr/u16-strncmp-tests: Likewise.
4921         * modules/unistr/u16-strncpy-tests: Likewise.
4922         * modules/unistr/u16-strnlen-tests: Likewise.
4923         * modules/unistr/u16-to-u32-tests: Likewise.
4924         * modules/unistr/u16-to-u8-tests: Likewise.
4925         * modules/unistr/u16-uctomb-tests: Likewise.
4926         * modules/unistr/u32-check-tests: Likewise.
4927         * modules/unistr/u32-chr-tests: Likewise.
4928         * modules/unistr/u32-cmp-tests: Likewise.
4929         * modules/unistr/u32-cmp2-tests: Likewise.
4930         * modules/unistr/u32-cpy-alloc-tests: Likewise.
4931         * modules/unistr/u32-cpy-tests: Likewise.
4932         * modules/unistr/u32-mblen-tests: Likewise.
4933         * modules/unistr/u32-mbsnlen-tests: Likewise.
4934         * modules/unistr/u32-mbtouc-tests: Likewise.
4935         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
4936         * modules/unistr/u32-mbtoucr-tests: Likewise.
4937         * modules/unistr/u32-move-tests: Likewise.
4938         * modules/unistr/u32-next-tests: Likewise.
4939         * modules/unistr/u32-prev-tests: Likewise.
4940         * modules/unistr/u32-set-tests: Likewise.
4941         * modules/unistr/u32-stpcpy-tests: Likewise.
4942         * modules/unistr/u32-stpncpy-tests: Likewise.
4943         * modules/unistr/u32-strcat-tests: Likewise.
4944         * modules/unistr/u32-strcmp-tests: Likewise.
4945         * modules/unistr/u32-strcoll-tests: Likewise.
4946         * modules/unistr/u32-strcpy-tests: Likewise.
4947         * modules/unistr/u32-strdup-tests: Likewise.
4948         * modules/unistr/u32-strlen-tests: Likewise.
4949         * modules/unistr/u32-strmblen-tests: Likewise.
4950         * modules/unistr/u32-strmbtouc-tests: Likewise.
4951         * modules/unistr/u32-strncat-tests: Likewise.
4952         * modules/unistr/u32-strncmp-tests: Likewise.
4953         * modules/unistr/u32-strncpy-tests: Likewise.
4954         * modules/unistr/u32-strnlen-tests: Likewise.
4955         * modules/unistr/u32-to-u16-tests: Likewise.
4956         * modules/unistr/u32-to-u8-tests: Likewise.
4957         * modules/unistr/u32-uctomb-tests: Likewise.
4958         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
4959         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
4960         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
4961         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
4962         * modules/uniwidth/u8-strwidth-tests: Likewise.
4963         * modules/uniwidth/u8-width-tests: Likewise.
4964         * modules/uniwidth/u16-strwidth-tests: Likewise.
4965         * modules/uniwidth/u16-width-tests: Likewise.
4966         * modules/uniwidth/u32-strwidth-tests: Likewise.
4967         * modules/uniwidth/u32-width-tests: Likewise.
4968         * modules/uniwidth/width-tests: Likewise.
4969
4970 2010-05-18  Richard Jones  <rjones@redhat.com>
4971
4972         doc: users.txt: list hivex
4973         * users.txt: Add hivex.
4974
4975 2010-05-18  Richard Jones  <rjones@redhat.com>
4976
4977         doc: users.txt: list febootstrap
4978         * users.txt: Add febootstrap.
4979
4980 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
4981
4982         bootstrap: fix an error when gnulib is not used as a git submodule
4983         * build-aux/bootstrap (gnulib_path): If its length is zero then
4984         assign "gnulib" to it.
4985         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
4986
4987 2010-05-16  Bruno Haible  <bruno@clisp.org>
4988
4989         Avoid autoconf warnings about AM_ICONV.
4990         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
4991         2.64.
4992
4993 2010-05-16  Bruno Haible  <bruno@clisp.org>
4994
4995         absolute-header: Make the macro usable in more situations.
4996         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
4997         from gl_ABSOLUTE_HEADER.
4998         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
4999
5000 2010-05-16  James Youngman  <jay@gnu.org>
5001
5002         doc: update users.txt
5003         * users.txt: Add CSSC.
5004
5005 2010-05-16  Jim Meyering  <meyering@redhat.com>
5006
5007         init.sh: fix an error in the previous change; add more comments
5008         * tests/init.sh: Compare exit code in loop against 9, not 2.
5009         Patch by Bruno Haible.
5010         Make the two tests more similar by adding an empty "then" clause.
5011         Add comments.
5012
5013         init.sh: avoid unnecessary shell re-exec
5014         * tests/init.sh: Improve the re-exec-required check to first test the
5015         current shell.  If it passes the test, do not search for a shell that
5016         does pass, and do not re-exec.  This test is particularly contorted to
5017         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
5018         of $(...) evokes a syntax error and causes immediate shell exit with
5019         status 2.  Bruno Haible reported that the re-exec made it impossible
5020         to single-step through any init.sh-using script.
5021
5022 2010-05-16  Bruno Haible  <bruno@clisp.org>
5023
5024         Fix collision between gnulib's and libintl's printf replacements.
5025         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
5026         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
5027         (printf): When using GNU C, map the __printf__ function to rpl_printf
5028         via __asm__. When not using GNU C, define rpl_printf instead of
5029         __printf__.
5030         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
5031         commit.
5032         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
5033         commit.
5034         * m4/asm-underscore.m4: New file.
5035         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
5036         * modules/stdio (Files): Add m4/asm-underscore.m4.
5037         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
5038         Reported by Ben Pfaff.
5039
5040 2010-05-16  Bruno Haible  <bruno@clisp.org>
5041
5042         verify: Avoid skipping the test on openSUSE 11.0.
5043         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
5044
5045 2010-05-13  Bruno Haible  <bruno@clisp.org>
5046
5047         Avoid useless warnings from G++.
5048         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
5049         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
5050         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
5051
5052 2010-05-11  Jim Meyering  <meyering@redhat.com>
5053
5054         maint.mk: tweak preceding change
5055         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
5056         regexps tighter by anchoring at EOL, and make the new group "shy"
5057         for slightly decreased overhead.
5058
5059 2010-05-11  Eric Blake  <eblake@redhat.com>
5060
5061         maint.mk: gnulib doesn't guarantee NSIG
5062         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
5063
5064 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
5065
5066         test-pwrite.c: Remove unused variable declaration.
5067         * tests/test-pwrite.c (main): Remove read_buf declaration.
5068
5069         Remove useless test-pwrite.sh file.
5070         * tests/test-pwrite.sh: Delete file.
5071         * modules/pwrite-tests: Remove references.
5072         Reported by Bruno Haible.
5073
5074 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
5075
5076         init.sh: fix a typo
5077         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
5078
5079 2010-05-10  Jim Meyering  <meyering@redhat.com>
5080
5081         maint.mk: avoid using a temporary file in the always-defined-macros check
5082         * top/maint.mk (.re-defmac): Remove rule.
5083         (gl_trap_): Remove definition.
5084         (sc_prohibit_always-defined_macros): Rewrite not to create and
5085         depend on a temporary file.  Instead, depend on GNU grep's ability
5086         to read a list of regular expressions from stdin when given "-f -".
5087
5088 2010-05-09  Bruno Haible  <bruno@clisp.org>
5089
5090         Update to GNU gettext 0.18, part 1.
5091         * m4/gettext.m4: Update to GNU gettext 0.18.
5092         * m4/intl.m4: Likewise.
5093         * m4/po.m4: Likewise.
5094         * modules/gettext (Files): Add m4/fcntl-o.m4.
5095         (configure.ac): Require gettext infrastructure from version 0.18.
5096
5097 2010-05-09  Jim Meyering  <meyering@redhat.com>
5098
5099         init.sh: enable MALLOC_PERTURB_
5100         * tests/init.sh: Enable glibc's malloc-perturbing option.
5101
5102         maint.mk: improve sc_cross_check_PATH_usage_in_tests
5103         With my recent change in init.sh from the two-line form:
5104             -#   : ${srcdir=.}
5105             -#   . "$srcdir/init.sh"; path_prepend_ .
5106             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
5107         I noticed that using the one-line form would cause this test
5108         to fail with a false-positive, or to stop working altogether,
5109         depending on whether help-version changed or all the tests did.
5110         * top/maint.mk (_hv_regex): Remove this definition.
5111         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
5112         (_hv_regex_strong): Use a stronger regex to check for conformance.
5113         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
5114         Give a separate diagnostic for lack of conforming use.
5115
5116         maint.mk: prohibit definition of symbols defined by gnulib
5117         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
5118         definition of symbols defined by gnulib.
5119
5120 2010-05-09  Bruno Haible  <bruno@clisp.org>
5121
5122         acl: Avoid test failure on Cygwin-hosted mingw.
5123         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
5124
5125 2010-05-09  Bruno Haible  <bruno@clisp.org>
5126
5127         error: Use system's fcntl function.
5128         * lib/error.c (fcntl): Undefine.
5129
5130 2010-05-09  Jim Meyering  <meyering@redhat.com>
5131
5132         verify: adjust formatting to be more consistent
5133         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
5134         argument-list '('s, and after one comma.
5135
5136 2010-05-09  Bruno Haible  <bruno@clisp.org>
5137
5138         error: More reliable output on mingw.
5139         * lib/error.c: Include <windows.h>.
5140         (is_open): New function.
5141         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
5142         defined.
5143
5144 2010-05-09  Bruno Haible  <bruno@clisp.org>
5145
5146         vasnprintf: Fix syntax errors in libintl build on mingw.
5147         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
5148         pad_ourselves and prec_ourselves after use.
5149
5150 2010-05-08  Bruno Haible  <bruno@clisp.org>
5151
5152         * lib/config.charset: Update comments for Cygwin 1.7.
5153         * lib/localcharset.c: Likewise.
5154
5155 2010-05-07  Jim Meyering  <meyering@redhat.com>
5156
5157         init.sh: improve comments
5158         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
5159         . "${srcdir=.}/init.sh"; path_prepend_ .
5160         Add a note about path_prepend_ and the alternative of using
5161         TESTS_ENVIRONMENT.
5162
5163 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
5164
5165         exclude: Unescape hashed patterns in wildcard mode.
5166         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
5167         to the hash list.
5168         * tests/test-exclude8.sh: New test case.
5169         * modules/exclude-tests: Add new test.
5170
5171 2010-05-05  Eric Blake  <eblake@redhat.com>
5172
5173         verify: automate tests
5174         * modules/verify-tests: New module.
5175         * tests/test-verify.sh: New file.
5176         * tests/test-verify.c: Guard each negative test with a unique id.
5177         Also avoid warning about unused left hand of comma expressions.
5178
5179 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
5180
5181         Further improvements to verify.h, suggested by Eric Blake.
5182         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
5183         the GL_* versions, to avoid collision with OpenGL.
5184         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
5185         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
5186         than testing merely whether it's defined.
5187
5188         Modify verify.h to pacify gcc -Wredundant_decls.
5189         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
5190         These use the prefix "GL_" since they're likely to be useful elsewhere.
5191         We may need to break them out into a different .h file.
5192         (__COUNTER__): Define to 0 if the compiler doesn't support it.
5193         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
5194         of verify_function__.
5195
5196 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
5197
5198         Tests for module pwrite.
5199         * modules/pwrite-tests: New file.
5200         * tests/test-pwrite.sh: New file.
5201         * tests/test-pwrite.c: New file.
5202
5203         New module pwrite.
5204         * lib/unistd.in.h (pwrite): New declaration.
5205         * lib/pwrite.c: New file, from glibc with modifications.
5206         * m4/pwrite.m4: New file.
5207         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
5208         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
5209         REPLACE_PWRITE.
5210         * modules/pwrite: New file.
5211         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
5212         REPLACE_PWRITE.
5213         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
5214         * doc/posix-functions/pwrite.texi: Mention the new module.
5215
5216 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
5217
5218         pread: Update documentation.
5219         * doc/posix-functions/pread.texi: Mention the 'pread' module.
5220
5221 2010-05-04  Eric Blake  <eblake@redhat.com>
5222
5223         docs: update cygwin progress
5224         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
5225         this bug.
5226         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
5227         Added in cygwin 1.7.2.
5228         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
5229         Likewise.
5230         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
5231         Likewise.
5232         * doc/glibc-functions/dup3.texi (dup3): Likewise.
5233         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
5234         * doc/glibc-functions/accept4.texi (accept4): Likewise.
5235         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
5236         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
5237         Mention nproc module.
5238         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
5239         bug in cygwin 1.7.5 addition.
5240         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
5241         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
5242         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
5243         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
5244         1.7.5.
5245         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
5246         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
5247         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
5248         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
5249         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
5250         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
5251         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
5252         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
5253         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
5254         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
5255         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
5256         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
5257         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
5258         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
5259         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
5260         Likewise.
5261         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
5262         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
5263         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
5264         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
5265         Likewise.
5266         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
5267         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
5268         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
5269         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
5270         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
5271         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
5272         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
5273         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
5274         Likewise.
5275         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
5276         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
5277         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
5278         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
5279         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
5280         Likewise.
5281         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
5282         Likewise.
5283         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
5284         Likewise.
5285         * doc/glibc-functions/xdrrec_endofrecord.texi
5286         (xdrrec_endofrecord): Likewise.
5287         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
5288         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
5289         Likewise.
5290         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
5291         Likewise.
5292
5293 2010-05-04  Jim Meyering  <meyering@redhat.com>
5294
5295         gendocs.sh: make its "-s FILE" option more useful
5296         * build-aux/gendocs.sh: When honoring the -s FILE option, update
5297         $PACKAGE to reflect the probably-different basename of "FILE".
5298
5299 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
5300
5301         bootstrap: don't ignore download_po_files failure
5302         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
5303         failure.
5304
5305 2010-05-03  Jim Meyering  <meyering@redhat.com>
5306
5307         maint.mk: allow to pass options to gendocs.sh
5308         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
5309         (gendocs_options_): New overridable variable.
5310
5311         gnu-web-doc-update: don't ignore configure or build failure
5312         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
5313
5314         announce-gen: backslash-escape '@'s in --help output
5315         * build-aux/announce-gen: Fix syntax errors.
5316
5317         maint.mk, announce-gen: allow project-specific announcement mail headers
5318         * top/maint.mk (translation_project_): Define default.
5319         (announcement_Cc_, announcement_mail_headers_): Likewise.
5320         (announcement): Invoke announce-gen with new --mail-headers option.
5321         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
5322
5323         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
5324         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
5325         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
5326         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
5327         line in the "err2" output file when running "make check" in verbose
5328         mode (i.e., with set -x enabled).
5329
5330 2010-05-03  Bruno Haible  <bruno@clisp.org>
5331
5332         wctob: Fix for weird platforms.
5333         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
5334         argument value.
5335
5336 2010-05-03  Jim Meyering  <meyering@redhat.com>
5337
5338         maint.mk: prohibit unwarranted use of <strings.h>
5339         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
5340         strings.h in a file that does not also use strcasecmp, strncasecmp,
5341         ffs or ffsll.
5342
5343         maint.mk: remove obsolete comments
5344         * top/maint.mk: Remove stale, commented-out rules.
5345
5346 2010-05-02  Bruno Haible  <bruno@clisp.org>
5347
5348         wcwidth: Declare also when it's aliased.
5349         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
5350         macro.
5351
5352 2010-05-02  Bruno Haible  <bruno@clisp.org>
5353
5354         Fix regression from 2010-04-25.
5355         * gnulib-tool (func_modules_transitive_closure): Check the status of
5356         all modules, not only of the tests that are of the form foo-tests where
5357         foo is a module.
5358
5359 2010-05-02  Bruno Haible  <bruno@clisp.org>
5360
5361         wctob: Work around nasty Cygwin 1.7.2 bug.
5362         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
5363         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
5364
5365 2010-05-01  Bruno Haible  <bruno@clisp.org>
5366
5367         fpurge: Sharper test.
5368         * tests/test-fpurge.c (main): Add one more ftell check.
5369         * modules/fpurge-tests (Depends-on): Add ftell.
5370         Suggested by Eric Blake.
5371
5372 2010-05-01  Bruno Haible  <bruno@clisp.org>
5373
5374         ftello: Another test.
5375         * tests/test-ftello3.c: New file.
5376         * modules/ftello-tests (Files): Add it.
5377         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
5378         MOSTLYCLEANFILES.
5379
5380         ftell: Another test.
5381         * tests/test-ftell3.c: New file.
5382         * modules/ftell-tests (Files): Add it.
5383         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
5384         MOSTLYCLEANFILES.
5385
5386 2010-05-01  Bruno Haible  <bruno@clisp.org>
5387
5388         ftell, ftello: Work around Solaris bug.
5389         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
5390         * lib/ftello.c: Include stdio-impl.h.
5391         (ftello): On Solaris, when _IOWRT is set, compute the result without
5392         looking at _IOREAD.
5393         * modules/ftello (Files): Add lib/stdio-impl.h.
5394         * doc/posix-functions/ftell.texi: Mention Solaris bug.
5395         * doc/posix-functions/ftello.texi: Likewise.
5396         Reported by Eric Blake.
5397
5398 2010-05-01  Bruno Haible  <bruno@clisp.org>
5399
5400         freading: Adapt to special meaning of _IOREAD flag on Solaris.
5401         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
5402         the _IOWRT flag is also set.
5403
5404 2010-05-01  Bruno Haible  <bruno@clisp.org>
5405
5406         Fix doc about a HP-UX stdio bug.
5407         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
5408         * doc/posix-functions/ftello.texi: Likewise.
5409
5410 2010-05-01  Bruno Haible  <bruno@clisp.org>
5411
5412         lseek test: Fix failure on Solaris.
5413         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
5414         output.
5415
5416 2010-04-30  Jim Meyering  <meyering@redhat.com>
5417
5418         bootstrap: don't ignore failure to generate po*/Makevars
5419         * build-aux/bootstrap (with_gettext): Don't ignore failure
5420         to create po/Makevars or runtime-po/Makevars.
5421
5422 2010-04-29  Eric Blake  <eblake@redhat.com>
5423
5424         headers: relax license to LGPLv2+
5425         * modules/fcntl-h (License): Relax license.
5426         * modules/getopt-posix (License): Likewise.
5427         * modules/locale (License): Likewise.
5428         * modules/math (License): Likewise.
5429         * modules/pty (License): Likewise.
5430         * modules/sched (License): Likewise.
5431         * modules/search (License): Likewise.
5432         * modules/spawn (License): Likewise.
5433         * modules/stdarg (License): Likewise.
5434         * modules/sysexits (License): Likewise.
5435
5436 2010-04-29  Jim Meyering  <meyering@redhat.com>
5437
5438         inttypes: relax license to LGPLv2+
5439         * modules/inttypes (License): Relax license.
5440
5441 2010-04-29  Simon Josefsson  <simon@josefsson.org>
5442
5443         * top/maint.mk (indent): Run twice to produce idempotent results.
5444
5445 2010-04-28  Bruno Haible  <bruno@clisp.org>
5446
5447         getdate: Generate getdate.c in the source directory.
5448         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
5449         MOSTLYCLEANFILES.
5450         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
5451
5452 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
5453
5454         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
5455         is not declared as a const *; avoid warnings in that case.
5456
5457 2010-04-28  Eric Blake  <eblake@redhat.com>
5458
5459         canonicalize-lgpl: avoid compiler warning
5460         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
5461         declaration' / 'extraneous semicolon' warning with some compilers.
5462         Reported by Andreas Gruenbacher.
5463
5464 2010-04-28  Jim Meyering  <meyering@redhat.com>
5465
5466         init.sh: ensure a more reliable exit status when exiting via trap
5467         * tests/init.sh (setup_): Don't rely on $? in signal handler.
5468         Inspired by patches from Dmitry V. Levin.
5469         Also trap on signal 3 (SIGQUIT).
5470
5471 2010-04-27  Bruno Haible  <bruno@clisp.org>
5472
5473         Update doc about utimes().
5474         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
5475         'utimens' module.
5476         Reported by Andreas Gruenbacher <agruen@suse.de>.
5477
5478 2010-04-27  Eric Blake  <eblake@redhat.com>
5479
5480         full-read, full-write: relax license
5481         * modules/full-read (License): Drop to LGPLv2+.
5482         * modules/full-write (License): Likewise.
5483         * modules/safe-read (License): Likewise.
5484         * modules/safe-write (License): Likewise.
5485
5486         pthread: mention library for linking
5487         * modules/pthread (Link): Mention $(LIB_PTHREAD).
5488
5489 2010-04-27  Jim Meyering  <meyering@redhat.com>
5490
5491         maint.mk: fix a bug introduced in last change
5492         * top/maint.mk (gl_assured_headers_): Now that all names are on
5493         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
5494         is not anchored to end of word, it should be adequate.
5495
5496         maint.mk: avoid side-effect in latest syntax-check
5497         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
5498         to run commands via $(shell...), and hence to incur cost only when
5499         the new rule is actually run.
5500
5501         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
5502         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
5503         and use that to create a regexp used to detect all #if HAVE_..._H uses.
5504         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
5505         (gl_assured_headers_, az_, AZ_): Define.
5506         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
5507
5508 2010-04-26  Jim Meyering  <jim@meyering.net>
5509             Bruno Haible  <bruno@clisp.org>
5510
5511         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
5512         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
5513         Prompted by an exchange with Gilles Espinasse.
5514
5515 2010-04-26  Jim Meyering  <meyering@redhat.com>
5516
5517         git-version-gen: aesthetic tweak
5518         * build-aux/git-version-gen: Use "$nl" rather than a literal,
5519         so that the command remains on a single line.
5520
5521 2010-04-26  Eric Blake  <eblake@redhat.com>
5522
5523         git-version-gen: allow use on EBCDIC hosts
5524         * build-aux/git-version-gen (dirty): Use literal rather than tying
5525         ourselves to ascii.
5526         Reported by Steve Goetze.
5527
5528 2010-04-25  Bruno Haible  <bruno@clisp.org>
5529
5530         netdb: Add support for GNULIB_POSIXCHECK.
5531         * lib/netdb.in.h: Include warn-on-use.h.
5532         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
5533         functions are used when GNULIB_POSIXCHECK is defined and the
5534         getaddrinfo module is not in use.
5535         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
5536         freeaddrinfo, gai_strerror, getnameinfo are declared.
5537         * modules/netdb (Depends-on): Add warn-on-use.
5538         (Makefile.am): Include warn-on-use.h in netdb.h.
5539
5540 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
5541
5542         build: avoid "make check" failure without .git/ directory
5543         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
5544         there is no .git/ directory.
5545
5546 2010-04-25  Bruno Haible  <bruno@clisp.org>
5547
5548         ptsname: Fix misuse of ttyname_r.
5549         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
5550         of errno.
5551
5552 2010-04-25  Bruno Haible  <bruno@clisp.org>
5553
5554         ttyname_r: Make it work on Solaris 10.
5555         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
5556         if the system function has the POSIX declaration. Test whether the
5557         function fails if the buffer is less than 128 bytes large.
5558         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
5559         system's ttyname_r function. Provide a reasonably large buffer.
5560         * modules/ttyname_r (Depends-on): Add extensions.
5561         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
5562
5563 2010-04-25  Bruno Haible  <bruno@clisp.org>
5564
5565         Use the 'extensions' module for some more functions on Solaris.
5566         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
5567         module.
5568         * doc/posix-functions/ctime_r.texi: Likewise.
5569         * doc/posix-functions/getgrgid_r.texi: Likewise.
5570         * doc/posix-functions/getgrnam_r.texi: Likewise.
5571         * doc/posix-functions/getpwnam_r.texi: Likewise.
5572         * doc/posix-functions/getpwuid_r.texi: Likewise.
5573         * doc/posix-functions/readdir_r.texi: Likewise.
5574         * doc/posix-functions/sigwait.texi: Likewise.
5575         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
5576         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
5577
5578 2010-04-25  Bruno Haible  <bruno@clisp.org>
5579
5580         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
5581         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
5582         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
5583         * lib/ttyname_r.c: Include <limits.h>.
5584         (ttyname_r): Define using the system's ttyname_r function, if it exists
5585         and not on Solaris.
5586         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
5587         set.
5588         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
5589         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
5590         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
5591         Reported by Simon Josefsson.
5592
5593 2010-04-25  Bruno Haible  <bruno@clisp.org>
5594
5595         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
5596         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
5597         * doc/posix-functions/ctime_r.texi: Likewise.
5598         * doc/posix-functions/getgrgid_r.texi: Likewise.
5599         * doc/posix-functions/getgrnam_r.texi: Likewise.
5600         * doc/posix-functions/getlogin_r.texi: Likewise.
5601         * doc/posix-functions/getpwnam_r.texi: Likewise.
5602         * doc/posix-functions/getpwuid_r.texi: Likewise.
5603         * doc/posix-functions/readdir_r.texi: Likewise.
5604         * doc/posix-functions/sigwait.texi: Likewise.
5605         * doc/posix-functions/ttyname_r.texi: Likewise.
5606         Reported by Simon Josefsson.
5607
5608 2010-04-25  Bruno Haible  <bruno@clisp.org>
5609
5610         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
5611         * gnulib-tool (func_usage): Document that --with-*-tests options apply
5612         also to --create-testdir.
5613         (func_acceptable): Don't consider the status of *-tests modules here.
5614         (func_modules_transitive_closure): Consider it here, before including a
5615         test module.
5616         (func_import, func_create_testdir): Set inc_all_direct_tests,
5617         inc_all_indirect_tests.
5618         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
5619         --create-testdir and --create-megatestdir.
5620
5621 2010-04-25  Bruno Haible  <bruno@clisp.org>
5622
5623         gnulib-tool: Add --without-*-tests options.
5624         * gnulib-tool (func_usage): Document the --without-*-tests options.
5625         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
5626         excl_unportable_tests): New variables.
5627         Fail if they are specified with --import or --update.
5628         (func_acceptable): Respect the excl_*_tests variables.
5629         (func_import): Set the excl_*_tests variables to empty.
5630
5631 2010-04-25  Simon Josefsson  <simon@josefsson.org>
5632             Bruno Haible  <bruno@clisp.org>
5633
5634         Work around a MacOS X 10.4 bug with openpty.
5635         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
5636         * tests/test-openpty.c (main): Close the master side explicitly.
5637
5638 2010-04-25  Bruno Haible  <bruno@clisp.org>
5639
5640         strnlen: Fix a C++ test error on MacOS X and Solaris.
5641         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
5642         the function is not declared.
5643         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
5644         Simon Josefsson.
5645
5646 2010-04-24  Bruno Haible  <bruno@clisp.org>
5647
5648         Avoid a gcc warning.
5649         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
5650         of correct type for %08lx directive.
5651         Reported by Eric Blake.
5652
5653 2010-04-24  Bruno Haible  <bruno@clisp.org>
5654
5655         vasnprintf: Correct errno value in case of out-of-memory.
5656         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
5657         or sprintf. Use the errno value from SNPRINTF or sprintf.
5658         Reported by Ian Beckwith <ianb@erislabs.net>.
5659
5660 2010-04-24  Bruno Haible  <bruno@clisp.org>
5661
5662         ansi-c++-opt: Find correct compiler when cross-compiling.
5663         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
5664         AC_CHECK_PROGS.
5665         Reported by Simon Josefsson.
5666
5667 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
5668
5669         vc-list-files: Add support for subversion
5670         * build-aux/vc-list-files: Use "svn list" to generate the list of
5671         files controlled by subversion.
5672
5673 2010-04-23  Jim Meyering  <meyering@redhat.com>
5674
5675         vc-list-files tests: convert to use init.sh
5676         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
5677         path_prepend_.
5678         Use Exit, not exit.
5679         Use skip_ rather than open coding it.
5680         Remove trap set-up and compare definitions.
5681         * tests/test-vc-list-files-git.sh: Likewise.
5682         * modules/vc-list-files-tests (Files): Add tests/init.sh.
5683
5684 2010-04-22  Simon Josefsson  <simon@josefsson.org>
5685
5686         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
5687         backup files.
5688
5689 2010-04-21  Simon Josefsson  <simon@josefsson.org>
5690
5691         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
5692
5693 2010-04-20  Eric Blake  <eblake@redhat.com>
5694
5695         tests: be robust to ignored SIGPIPE
5696         * tests/test-select-in.sh: Consume all output.
5697         * tests/test-lseek.sh: Check correct exit status, while avoiding
5698         EPIPE.
5699
5700 2010-04-20  Simon Josefsson  <simon@josefsson.org>
5701             Bruno Haible  <bruno@clisp.org>
5702
5703         visibility: Don't use -fvisibility if it leads to a warning.
5704         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
5705         yes, don't pretend that visibility works if it leads to a warning.
5706         Reported by Mike Gran <spk121@yahoo.com>.
5707
5708 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
5709
5710         * build-aux/bootstrap: Use "git -h" for testing for supported options
5711         instead of "git --help".  The short-form option only shows a summary,
5712         and doesn't layout the full man page.  Grep for the full option name
5713         in the summary, too.
5714
5715 2010-04-19  Bruno Haible  <bruno@clisp.org>
5716
5717         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
5718         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
5719         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
5720         mention of RELOCATABLE_STRIP.
5721         Reported by Sylvain Beucler <beuc@beuc.net>.
5722
5723 2010-04-19  Bruno Haible  <bruno@clisp.org>
5724
5725         * lib/diffseq.h: Fix typo in comment.
5726         Reported by Eric Blake.
5727
5728 2010-04-19  Bruno Haible  <bruno@clisp.org>
5729
5730         ioctl: Move autoconf macro to a .m4 file.
5731         * m4/ioctl.m4: New file, extracted from modules/ioctl.
5732         * modules/ioctl (Files): Add it.
5733         (configure.ac): Simply invoke gl_FUNC_IOCTL.
5734         Reported by Ian Beckwith <ianb@erislabs.net>.
5735
5736 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
5737             Bruno Haible  <bruno@clisp.org>
5738
5739         diffseq: Accommodate use-case with abstract arrays.
5740         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
5741         is not defined.
5742         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
5743         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
5744
5745 2010-04-18  Bruno Haible  <bruno@clisp.org>
5746
5747         * doc/posix-headers/stdbool.texi: More precise wording.
5748
5749 2010-04-17  Jim Meyering  <meyering@redhat.com>
5750
5751         maint.mk: use gnu-style indentation in an embedded perl script
5752         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
5753         Rename variable: s/two/last_two_bytes/
5754
5755 2010-04-16  Eric Blake  <eblake@redhat.com>
5756
5757         test-stdbool: skip test that fails with Solaris CC
5758         * tests/test-stdbool.c (f): Skip test that causes compilation
5759         error under buggy C++ compiler.
5760         * lib/stdbool.in.h: Document the limitation.
5761         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
5762
5763         setenv: allow compilation with C++
5764         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
5765         register keyword.
5766
5767         stdint: allow test to pass with C++
5768         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
5769
5770         getopt: allow compilation with C++
5771         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
5772         struct.
5773         * lib/getopt.c (_getopt_internal_r): Use correct type.
5774         Reported by Dagobert Michelson, via Joel E. Denny.
5775
5776 2010-04-16  Bruno Haible  <bruno@clisp.org>
5777
5778         Override netdb.h always.
5779         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
5780         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
5781         Reported by Ludovic Courtès <ludo@gnu.org>.
5782
5783 2010-04-15  Bruno Haible  <bruno@clisp.org>
5784
5785         openpty: Fix mistake from 2010-03-21.
5786         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
5787         Reported by Simon Josefsson.
5788
5789 2010-04-15  Eric Blake  <eblake@redhat.com>
5790
5791         test-forkpty: fix expected signature
5792         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
5793         Reported by Simon Josefsson.
5794
5795 2010-04-15  Jim Meyering  <meyering@redhat.com>
5796
5797         maint.mk: texinfo_suffix_re_: correct the default regexp
5798         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
5799
5800         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
5801         make it configurable via texinfo_suffix_re_.
5802
5803 2010-04-14  Eric Blake  <eblake@redhat.com>
5804
5805         strtok_r: relax license to LGPLv2+
5806         * modules/strtok_r (License): Relax license.
5807         Reported by Matthias Bolte.
5808
5809 2010-04-14  Simon Josefsson  <simon@josefsson.org>
5810
5811         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
5812         version 1.4.4 by default instead of requiring the libgcrypt
5813         version used during build.  This makes it possible to use the
5814         application with older but still binary compatible libgcrypt
5815         versions.
5816
5817 2010-04-13  Eric Blake  <eblake@redhat.com>
5818
5819         getopt-gnu: match recent glibc fixes and posix ruling
5820         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
5821         '+' handling, when requesting extensions.
5822         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
5823         'W;' handling.
5824         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
5825         * doc/posix-functions/getopt.texi (getopt): Document this.
5826         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
5827         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
5828         Likewise.
5829
5830         getopt: merge bug fixes from glibc
5831         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
5832         diagnostics.  Honor '+:' correctly.  Reject ';'.
5833
5834         getopt-posix: detect MacOS bug
5835         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
5836         optind when missing a required argument.
5837         * doc/posix-functions/getopt.texi (getopt): Document the bug.
5838         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
5839         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
5840         Likewise.
5841
5842         getopt-posix: avoid spurious failure on Solaris
5843         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
5844         an indicator that setting optind=1 is sufficient for reset.
5845
5846         getopt-posix: avoid spurious failure on FreeBSD
5847         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
5848         in POSIX mode, since the m4 test uses it.
5849
5850         gnulib-tool: silence warning on BSD sh
5851         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
5852
5853 2010-04-13  Jim Meyering  <meyering@redhat.com>
5854
5855         doc: users.txt: GNU patch now uses gnulib
5856         * users.txt: Add patch.
5857
5858 2010-04-12  Jim Meyering  <meyering@redhat.com>
5859
5860         maint.mk: generate more concise timing data for syntax-check rules
5861         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
5862         " done" from each line that reports a syntax-check test duration.
5863
5864 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
5865
5866         git-version-gen: use "git update-index..." rather than "git status"
5867         * build-aux/git-version-gen: Use git update-index --refresh, not
5868         "git status".  With some versions of git, "git status" would fail
5869         to update the index and result in an unwarranted "-dirty" suffix.
5870
5871 2010-04-11  Jim Meyering  <meyering@redhat.com>
5872
5873         openat: correct formatting (no semantic change)
5874         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
5875         Suggested by Bruno Haible.
5876
5877 2010-04-11  Bruno Haible  <bruno@clisp.org>
5878
5879         Stricter declaration checking in testdirs.
5880         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
5881         If for_tests is true, augment AM_CPPFLAGS to define
5882         GNULIB_STRICT_CHECKING.
5883         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
5884         GNULIB_STRICT_CHECKING is defined, verify that the function is
5885         declared.
5886
5887 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
5888             Bruno Haible  <bruno@clisp.org>
5889
5890         libunistring: Improve configure output.
5891         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
5892         Don't say "consider installing GNU libunistring" when checking again
5893         with libiconv.
5894
5895 2010-04-11  Bruno Haible  <bruno@clisp.org>
5896
5897         libunistring: Correct value of $LTLIBUNISTRING.
5898         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
5899         correct the value of $LTLIBUNISTRING.
5900
5901 2010-04-11  Bruno Haible  <bruno@clisp.org>
5902
5903         havelib: Add static libraries to LIBS in the right order.
5904         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
5905         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
5906
5907 2010-04-11  Bruno Haible  <bruno@clisp.org>
5908
5909         libunistring: Detect libunistring also when it depends on libiconv.
5910         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
5911         the second AC_LIB_HAVE_LINKFLAGS invocation.
5912
5913 2010-04-11  James Youngman  <jay@gnu.org>
5914
5915         close-stream: declare local scalars to be "const"
5916         * lib/close-stream.c (close_stream): Make boolean variables const
5917         to document the fact that we set but do not change them.
5918
5919 2010-04-11  Bruno Haible  <bruno@clisp.org>
5920
5921         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
5922
5923 2010-04-11  Jim Meyering  <meyering@redhat.com>
5924
5925         maint.mk: don't include dist-check.mk
5926         * top/maint.mk: Remove bogus include directive.
5927
5928         maint.mk: improve empty-line-at-EOF check
5929         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
5930         solution, rather than tail+Perl-based one.  The latter would read
5931         a few kilobytes from the end of each file, and did not handle empty
5932         files properly.
5933
5934         maint.mk: print the elapsed time for each syntax-check rule
5935         * top/maint.mk (sc_m_rules_): Save start time in a file.
5936         (sc_z_rules_): New rules: remove temp file and print elapsed time.
5937         (local-check): Interpose the .z rules
5938
5939 2010-04-11  Jim Meyering  <meyering@redhat.com>
5940
5941         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
5942         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
5943         empty file with one that ends in an empty line.
5944
5945 2010-04-10  Bruno Haible  <bruno@clisp.org>
5946
5947         mkdir: Make it work on mingw64.
5948         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
5949         * lib/mkdir.c: Update comment.
5950         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
5951
5952 2010-04-10  Bruno Haible  <bruno@clisp.org>
5953
5954         Don't override improved macro from newer autoconf.
5955         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
5956         autoconf >= 2.62.
5957         Reported by Joel E. Denny <jdenny@clemson.edu>.
5958
5959 2010-04-10  Jim Meyering  <meyering@redhat.com>
5960
5961         maint.mk: new syntax-check rule: prohibit empty lines at end of file
5962         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
5963
5964         maint.mk: correct a diagnostic
5965         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
5966         in diagnostic; now use $prohibit.
5967
5968 2010-04-10  Bruno Haible  <address@hidden>
5969
5970         fchownat: Fix a C++ test error on Solaris 8.
5971         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
5972         the function does not exist.
5973
5974 2010-04-10  Bruno Haible  <bruno@clisp.org>
5975
5976         vasnprintf: Add more tests.
5977         * tests/test-vasnprintf-posix.c: Include <errno.h>.
5978         (test_function): Test converting an invalid wide string.
5979
5980         vasnprintf: Correct handling of unconvertible wide string arguments.
5981         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
5982         VASNPRINTF.
5983         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
5984         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
5985         smaller than the expected maximum need for the directive. Set errno to
5986         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
5987         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
5988         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
5989         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
5990         * modules/vasnprintf (Files): Add m4/printf.m4.
5991         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
5992
5993 2010-04-10  Bruno Haible  <bruno@clisp.org>
5994
5995         vasnprintf: Fix crash in %ls directive.
5996         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
5997         string is passed as argument to %ls, with no precision and no width.
5998         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
5999
6000 2010-04-10  Bruno Haible  <bruno@clisp.org>
6001
6002         vasnprintf: Fix multiple test failures on mingw.
6003         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
6004         _snprintf, or snwprintf, not _snwprintf.
6005
6006 2010-04-10  Bruno Haible  <bruno@clisp.org>
6007
6008         write: Fix a C++ test error on mingw.
6009         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
6010
6011 2010-04-10  Bruno Haible  <bruno@clisp.org>
6012
6013         vasnprintf test: Reduce code duplication.
6014         * tests/test-vasnprintf.c (test_function): New function, extracted from
6015         test_vasnprintf.
6016         (test_vasnprintf, test_asnprintf): Invoke it.
6017
6018 2010-04-10  Bruno Haible  <bruno@clisp.org>
6019
6020         strnlen: Fix warning in C++ mode on MacOS X.
6021         * lib/string.in.h (strnlen): Use the modern idiom.
6022         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
6023         defining strnlen as a macro already in <config.h>.
6024         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
6025         REPLACE_STRNLEN.
6026         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
6027         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
6028
6029 2010-04-08  James Youngman  <jay@gnu.org>
6030
6031         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
6032         the example.
6033
6034 2010-04-09  Jim Meyering  <meyering@redhat.com>
6035
6036         maint.mk: print better diagnostic when there is no $(_hv_file)
6037         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
6038         announce that when $(_hv_file) (aka help-version) does not exist.
6039
6040         init.sh: run tr in the "C" locale to avoid multibyte interpretation
6041         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
6042         not try to interpret its random input bytes.  Jarno Rajahalme reported
6043         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
6044         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
6045         (mktempd_): Likewise, just in case.
6046
6047         ftruncate: add two years to projected module removal date: 2012
6048         * m4/ftruncate.m4: Adjust comments.
6049
6050         ftruncate: mark module as obsolete; even MinGW provides it, now
6051         * modules/ftruncate (Status): Obsolete.
6052         (Notice): Say that.
6053         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
6054         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
6055
6056 2010-04-08  Bruno Haible  <bruno@clisp.org>
6057
6058         Fix side effects from tests-related modules.
6059         * modules/dprintf-posix (Comment): New section.
6060         * modules/fprintf-posix (Comment): Likewise.
6061         * modules/obstack-printf-posix (Comment): Likewise.
6062         * modules/printf-posix (Comment): Likewise.
6063         * modules/snprintf-posix (Comment): Likewise.
6064         * modules/sprintf-posix (Comment): Likewise.
6065         * modules/vasnprintf-posix (Comment): Likewise.
6066         * modules/vasprintf-posix (Comment): Likewise.
6067         * modules/vdprintf-posix (Comment): Likewise.
6068         * modules/vfprintf-posix (Comment): Likewise.
6069         * modules/vprintf-posix (Comment): Likewise.
6070         * modules/vsnprintf-posix (Comment): Likewise.
6071         * modules/vsprintf-posix (Comment): Likewise.
6072         * modules/xprintf-posix (Comment): Likewise.
6073         * modules/xvasprintf-posix (Comment): Likewise.
6074         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
6075         * modules/floorf-tests (Depends-on): Likewise.
6076         * modules/round-tests (Depends-on): Likewise.
6077         * modules/roundf-tests (Depends-on): Likewise.
6078         * modules/trunc-tests (Depends-on): Likewise.
6079         * modules/truncf-tests (Depends-on): Likewise.
6080         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
6081         'fprintf-posix' module is not present.
6082         * tests/test-floorf2.c (check): Likewise.
6083         * tests/test-trunc2.c (check): Likewise.
6084         * tests/test-truncf2.c (check): Likewise.
6085         * tests/test-round2.c (equal): Likewise.
6086         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
6087
6088 2010-04-07  Karl Berry  <karl@gnu.org>
6089
6090         * config/srclist.txt,
6091         * config/srclistvars.sh,
6092         * config/srclist-update: doc fixes.
6093
6094 2010-04-07  Jim Meyering  <meyering@redhat.com>
6095
6096         maint.mk: add a PATH crosschecking syntax-check rule
6097         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
6098         Useful if you use a test like the one in help-version (coreutils,
6099         diffutils, grep, gzip) that ensures $(VERSION) matches what is
6100         printed by prog --version.
6101
6102 2010-04-06  Bruno Haible  <bruno@clisp.org>
6103
6104         Fix link error on mingw.
6105         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
6106         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
6107
6108 2010-04-06  Bruno Haible  <bruno@clisp.org>
6109
6110         Assume rmdir exists.
6111         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
6112
6113 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
6114
6115         doc: update users.txt
6116         * users.txt: Add gcal.
6117
6118 2010-04-06  Jim Meyering  <meyering@redhat.com>
6119
6120         init.sh: simply unset TMPDIR rather than risking env -i
6121         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
6122         although it probably works fine on all Unix-based systems, some
6123         systems (Cygwin?) cannot tolerate a totally cleared environment.
6124         Suggestion from Eric Blake.
6125
6126 2010-04-06  Jim Meyering  <meyering@redhat.com>
6127
6128         init.sh: portability fix: use env's POSIX-specified -i option not -u
6129         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
6130         than unportable env -u.  Solaris 5.11's env lacks support for -u.
6131
6132 2010-04-05  Bruno Haible  <bruno@clisp.org>
6133
6134         btowc: Work around Cygwin 1.7.2 bug.
6135         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
6136         does not map NUL to 0.
6137         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
6138
6139 2010-04-05  Bruno Haible  <bruno@clisp.org>
6140
6141         Make the multithread modules work on Cygwin 1.7.2.
6142         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
6143         imported symbols can be declared weak, so that it returns "no" on
6144         Cygwin 1.7.2.
6145
6146 2010-04-05  Bruno Haible  <bruno@clisp.org>
6147
6148         Use the module 'strncat'.
6149         * modules/unistr/u8-strncat (Depends-on): Add strncat.
6150
6151         Tests for module 'strncat'.
6152         * modules/strncat-tests: New file.
6153         * tests/test-strncat.c: New file.
6154
6155         New module 'strncat'.
6156         * lib/string.in.h (strncat): New declaration.
6157         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
6158         * m4/strncat.m4: New file, based on m4/memchr.m4.
6159         * modules/strncat: New file.
6160         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
6161         is declared.
6162         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
6163         REPLACE_STRNCAT.
6164         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
6165         REPLACE_STRNCAT.
6166         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
6167         module.
6168         * tests/test-string-c++.cc: Check signature of strncat.
6169
6170 2010-04-05  Jim Meyering  <meyering@redhat.com>
6171
6172         xstrtoumax-tests: convert to use init.sh
6173         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
6174         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
6175         Use Exit, not exit.
6176         Remove uses of $EXEEXT and "./" to run a program in the current dir.
6177
6178         xstrtoimax-tests: convert to use init.sh
6179         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
6180         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
6181         Use Exit, not exit.
6182         Remove uses of $EXEEXT and "./" to run a program in the current dir.
6183
6184 2010-04-05  Bruno Haible  <bruno@clisp.org>
6185
6186         sys_socket: Avoid #define replacements in C++ mode.
6187         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
6188         warning to the function if possible, rather than #defining the symbol
6189         to a dysfunctional alias.
6190
6191 2010-04-05  Bruno Haible  <bruno@clisp.org>
6192
6193         fseeko: Fix C++ test error on mingw.
6194         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
6195         gl_FUNC_FSEEKO.
6196         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
6197         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
6198         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
6199         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
6200
6201 2010-04-05  Bruno Haible  <bruno@clisp.org>
6202
6203         duplocale: Improve test output.
6204         * tests/test-duplocale.c (main): Print reason for skipped test.
6205
6206 2010-04-05  Bruno Haible  <bruno@clisp.org>
6207
6208         Assume rmdir exists.
6209         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
6210         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
6211
6212 2010-04-05  Bruno Haible  <bruno@clisp.org>
6213
6214         Fix link error on Solaris 8 with cc.
6215         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
6216
6217 2010-04-05  Bruno Haible  <bruno@clisp.org>
6218
6219         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
6220         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
6221
6222 2010-04-05  Bruno Haible  <bruno@clisp.org>
6223
6224         vasprintf: Update documentation.
6225         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
6226
6227 2010-04-05  Bruno Haible  <bruno@clisp.org>
6228
6229         ptsname: Improve test.
6230         * tests/test-ptsname.c (main): Also try the various master names of BSD
6231         systems.
6232
6233 2010-04-05  Bruno Haible  <bruno@clisp.org>
6234
6235         memchr: Avoid a possible C++ test error.
6236         * lib/string.in.h (memchr): Provide declaration if function is missing.
6237         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
6238         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
6239         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
6240         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
6241
6242 2010-04-05  Bruno Haible  <bruno@clisp.org>
6243
6244         strtok_r: Improve idiom.
6245         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
6246         AC_LIBOBJ is used.
6247
6248 2010-04-05  Bruno Haible  <bruno@clisp.org>
6249
6250         strdup: Improve idiom.
6251         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
6252         AC_LIBOBJ is used.
6253         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
6254         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
6255         when AC_LIBOBJ is used.
6256
6257 2010-04-05  Bruno Haible  <bruno@clisp.org>
6258
6259         mbsinit, mbrtowc, wcrtomb: Improve idioms.
6260         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
6261         don't set REPLACE_MBSINIT to 1.
6262         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
6263         don't set REPLACE_MBRTOWC to 1.
6264         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
6265         exist, don't set REPLACE_MBSRTOWCS to 1.
6266         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
6267         exist, don't set REPLACE_MBSNRTOWCS to 1.
6268         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
6269         don't set REPLACE_WCRTOMB to 1.
6270         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
6271         exist, don't set REPLACE_WCSRTOMBS to 1.
6272         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
6273         exist, don't set REPLACE_WCSNRTOMBS to 1.
6274
6275 2010-04-05  Bruno Haible  <bruno@clisp.org>
6276
6277         ldexpl: Improve idiom.
6278         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
6279         make sure to set HAVE_DECL_LDEXPL to 0.
6280
6281 2010-04-05  Jim Meyering  <meyering@redhat.com>
6282
6283         xstrtol-tests: convert to use init.sh
6284         * modules/xstrtol-tests (Files): Add tests/init.sh.
6285         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
6286         Use Exit, not exit.
6287         Remove uses of $EXEEXT and "./" to run a program in the current dir.
6288
6289         atexit-tests: convert to use init.sh
6290         * modules/atexit-tests (Files): Add tests/init.sh.
6291         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
6292         Use Exit, not exit.
6293         Remove uses of $EXEEXT and "./" to run a program in the current dir.
6294
6295         init.sh: fix typo
6296         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
6297
6298         init.sh: make it easier for a test script to write to the tty, ...
6299         when using automake's parallel-tests mode.
6300         * tests/init.sh (stderr_fileno_): Define overridable variable.
6301         (warn_): New function, to use it.
6302         (fail_, skip_, framework_failure_): Use warn_.
6303
6304 2010-04-04  Bruno Haible  <bruno@clisp.org>
6305
6306         btowc: Avoid warning.
6307         * lib/btowc.c: Include <stdlib.h>.
6308         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
6309
6310 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
6311             Bruno Haible  <bruno@clisp.org>
6312
6313         wchar: Port to NetBSD 1.5.
6314         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
6315         * lib/wctype.in.h (WEOF): Likewise.
6316
6317 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
6318             Bruno Haible  <bruno@clisp.org>
6319
6320         Port extended stdio to NetBSD 1.5.
6321         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
6322         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
6323         older.
6324
6325 2010-04-04  Bruno Haible  <bruno@clisp.org>
6326
6327         string: Remove unused substitution.
6328         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
6329         HAVE_DECL_STRERROR.
6330         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
6331
6332 2010-04-04  Bruno Haible  <bruno@clisp.org>
6333
6334         strtod: Avoid a possible C++ test error.
6335         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
6336         set REPLACE_STRTOD.
6337
6338 2010-04-04  Bruno Haible  <bruno@clisp.org>
6339
6340         strerror: Update documentation.
6341         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
6342
6343 2010-04-04  Bruno Haible  <bruno@clisp.org>
6344
6345         stdio: Fix some C++ test errors on Solaris 8 with GCC.
6346         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
6347         _GL_CXXALIAS_SYS_CAST.
6348
6349 2010-04-04  Bruno Haible  <bruno@clisp.org>
6350
6351         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
6352         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
6353         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
6354         REPLACE_FREXPL to 1.
6355         * doc/posix-functions/frexpl.texi: Update documentation.
6356
6357 2010-04-04  Bruno Haible  <bruno@clisp.org>
6358
6359         math: Fix some C++ test errors on Solaris 8 and Cygwin.
6360         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
6361
6362 2010-04-04  Bruno Haible  <bruno@clisp.org>
6363
6364         Implement nanosleep for native Windows.
6365         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
6366
6367 2010-04-04  Bruno Haible  <bruno@clisp.org>
6368
6369         math: Fix some C++ test errors on Solaris 8.
6370         * lib/math.in.h (truncf, trunc): Use simpler idiom.
6371
6372 2010-04-04  Bruno Haible  <bruno@clisp.org>
6373
6374         math: Fix some C++ test errors on Cygwin.
6375         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
6376         truncl): Provide declaration if the system does not have it.
6377         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
6378         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
6379         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
6380         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
6381         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
6382         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
6383         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
6384         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
6385         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
6386         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
6387         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
6388         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
6389         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
6390         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
6391         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
6392         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
6393         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
6394         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
6395         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
6396         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
6397         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
6398         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
6399
6400 2010-04-04  Bruno Haible  <bruno@clisp.org>
6401
6402         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
6403         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
6404         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
6405         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
6406         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
6407         * m4/isinf.m4 (gl_ISINF): Likewise.
6408         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
6409
6410 2010-04-04  Bruno Haible  <bruno@clisp.org>
6411
6412         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
6413         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
6414
6415 2010-04-04  Bruno Haible  <bruno@clisp.org>
6416
6417         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
6418         * modules/tmpfile (configure.ac): Update.
6419
6420         tmpfile: Fix C++ test error on mingw.
6421         * lib/stdio.in.h (tmpfile): New declaration.
6422         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
6423         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
6424         * modules/tmpfile (Depends-on): Add stdio.
6425         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
6426         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
6427         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
6428         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
6429         REPLACE_TMPFILE.
6430         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
6431
6432 2010-04-04  Bruno Haible  <bruno@clisp.org>
6433
6434         ioctl: Fix C++ test error on mingw.
6435         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
6436         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
6437         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
6438
6439 2010-04-03  Bruno Haible  <bruno@clisp.org>
6440
6441         wcwidth: Fix C++ test error on mingw.
6442         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
6443         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
6444         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
6445
6446 2010-04-03  Bruno Haible  <bruno@clisp.org>
6447
6448         nanosleep: Fix C++ test error on mingw.
6449         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
6450         * lib/time.in.h (nanosleep): Use modern idiom.
6451         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
6452         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
6453         REPLACE_NANOSLEEP to 1.
6454         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
6455         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
6456
6457 2010-04-03  Bruno Haible  <bruno@clisp.org>
6458
6459         strptime: Fix C++ test error on mingw.
6460         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
6461         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
6462         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
6463         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
6464         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
6465         not REPLACE_STRPTIME.
6466         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
6467         REPLACE_STRPTIME.
6468
6469 2010-04-03  Bruno Haible  <bruno@clisp.org>
6470
6471         timegm: Fix C++ test error on mingw.
6472         * lib/time.in.h (timegm): Use modern idiom.
6473         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
6474         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
6475         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
6476         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
6477
6478 2010-04-03  Bruno Haible  <bruno@clisp.org>
6479
6480         timegm: Assume declaration if function exists.
6481         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
6482         if it exists. Don't clobber ac_cv_func_timegm.
6483
6484 2010-04-03  Bruno Haible  <bruno@clisp.org>
6485
6486         time_r: Fix C++ test error on mingw.
6487         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
6488         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
6489         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
6490         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
6491         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
6492
6493 2010-04-03  Bruno Haible  <bruno@clisp.org>
6494
6495         time_r: Minor updates.
6496         * modules/time_r (Description): Mention the provided functions.
6497         * lib/time_r.c: Don't include <string.h>.
6498         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
6499         * doc/posix-functions/localtime_r.texi: Likewise.
6500
6501 2010-04-03  Bruno Haible  <bruno@clisp.org>
6502
6503         time: Fix regression introduced on 2010-03-08.
6504         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
6505         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
6506
6507 2010-04-03  Jim Meyering  <meyering@redhat.com>
6508
6509         maint.mk: don't silently disable project-specific syntax-check rules
6510         * top/maint.mk (_prohibit_regexp): Define, to help people realize
6511         that they need to convert their project-specific syntax-check rules
6512         to use the new _sc_search_regexp.
6513
6514 2010-04-03  Bruno Haible  <bruno@clisp.org>
6515
6516         fchdir: Fix regression introduced on 2010-03-08.
6517         * lib/unistd.in.h (fchdir): Fix declaration.
6518         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
6519         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
6520         REPLACE_FCHDIR.
6521         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
6522         REPLACE_FCHDIR.
6523
6524 2010-04-03  Bruno Haible  <bruno@clisp.org>
6525
6526         getpagesize: Fix C++ test error on mingw.
6527         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
6528         system does not declare the function.
6529         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
6530         declared.
6531         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
6532         HAVE_DECL_GETPAGESIZE.
6533         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
6534
6535 2010-04-03  Bruno Haible  <bruno@clisp.org>
6536
6537         stdio: Make C++ tests work on mingw.
6538         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
6539         does not declare the function.
6540
6541 2010-04-03  Bruno Haible  <bruno@clisp.org>
6542
6543         ftello: Fix C++ test error on mingw.
6544         * lib/stdio.in.h (ftello): Use modern idiom.
6545         * lib/ftello.c (ftello): Renamed from rpl_ftello.
6546         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
6547         is missing and that it needs to be replaced.
6548         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
6549         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
6550         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
6551
6552 2010-04-03  Bruno Haible  <bruno@clisp.org>
6553
6554         fseeko: Fix C++ test error on mingw.
6555         * lib/stdio.in.h (fseeko): Use modern idiom.
6556         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
6557         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
6558         is missing and that it needs to be replaced.
6559         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
6560         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
6561         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
6562
6563 2010-04-03  Bruno Haible  <bruno@clisp.org>
6564
6565         mkstemp: Fix C++ test error on mingw.
6566         * lib/stdlib.in.h (mkstemp): Use modern idiom.
6567         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
6568         function is missing and that it needs to be replaced.
6569         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
6570         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
6571
6572 2010-04-03  Bruno Haible  <bruno@clisp.org>
6573
6574         stpncpy: Fix C++ test error on mingw.
6575         * lib/string.in.h (stpncpy): Use modern idiom.
6576         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
6577         function is missing and that it needs to be replaced.
6578         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
6579         REPLACE_STPNCPY.
6580         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
6581
6582 2010-04-03  Bruno Haible  <bruno@clisp.org>
6583
6584         sys_stat: Fix C++ test error on mingw.
6585         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
6586         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
6587
6588 2010-04-03  Bruno Haible  <bruno@clisp.org>
6589
6590         pty: Update doc.
6591         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
6592
6593 2010-04-03  Bruno Haible  <bruno@clisp.org>
6594
6595         unistd: Fix C++ test error on mingw.
6596         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
6597
6598 2010-04-03  Bruno Haible  <bruno@clisp.org>
6599
6600         Update doc regarding mingw.
6601         * doc/glibc-functions/openpty.texi: Update regarding mingw.
6602         * doc/glibc-functions/login_tty.texi: Likewise.
6603         * doc/glibc-functions/forkpty.texi: Likewise.
6604
6605 2010-04-03  Bruno Haible  <bruno@clisp.org>
6606
6607         stdlib: Avoid compilation failure of c-strtold on mingw.
6608         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
6609
6610 2010-04-03  Bruno Haible  <bruno@clisp.org>
6611
6612         locale: Make C++ tests work on Cygwin and mingw.
6613         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
6614         cannot provide the function.
6615         Reported by Simon Josefsson.
6616
6617 2010-04-03  Bruno Haible  <bruno@clisp.org>
6618
6619         localename: Port to MacOS X 10.6.
6620         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
6621         memory layout of the locales in MacOS X 10.6 as well.
6622         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
6623
6624 2010-04-02  Bruno Haible  <bruno@clisp.org>
6625
6626         gnulib-tool: Ensure that long-running tests are executed last.
6627         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
6628         running tests after the one for the other tests.
6629
6630 2010-04-02  Bruno Haible  <bruno@clisp.org>
6631
6632         gnulib-tool: Ensure the tests in the main directory are executed first.
6633         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
6634         start with the current directory.
6635
6636 2010-04-02  Bruno Haible  <bruno@clisp.org>
6637
6638         Tests for module 'havelib', moved here from GNU gettext.
6639         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
6640         modifications.
6641         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
6642         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
6643         with modifications.
6644         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
6645         modifications.
6646         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
6647         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
6648         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
6649         with modifications.
6650         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
6651         with modifications.
6652         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
6653         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
6654         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
6655         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
6656         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
6657         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
6658         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
6659         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
6660         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
6661         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
6662         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
6663         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
6664         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
6665         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
6666         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
6667         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
6668         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
6669         with modifications.
6670         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
6671         with modifications.
6672         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
6673         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
6674         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
6675         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
6676         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
6677         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
6678         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
6679         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
6680         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
6681         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
6682         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
6683         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
6684         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
6685         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
6686         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
6687         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
6688         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
6689         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
6690         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
6691         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
6692         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
6693         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
6694         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
6695         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
6696         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
6697         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
6698         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
6699         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
6700         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
6701         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
6702         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
6703         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
6704         * tests/havelib/rpathx/rpathx.c: New file, from
6705         gettext/autoconf-lib-link.
6706         * tests/havelib/rpathx/Makefile.am: New file, from
6707         gettext/autoconf-lib-link.
6708         * tests/havelib/rpathx/configure.ac: New file, from
6709         gettext/autoconf-lib-link with modifications.
6710         * tests/havelib/rpathy/rpathy.c: New file, from
6711         gettext/autoconf-lib-link.
6712         * tests/havelib/rpathy/Makefile.am: New file, from
6713         gettext/autoconf-lib-link.
6714         * tests/havelib/rpathy/configure.ac: New file, from
6715         gettext/autoconf-lib-link with modifications.
6716         * tests/havelib/rpathz/rpathz.c: New file, from
6717         gettext/autoconf-lib-link.
6718         * tests/havelib/rpathz/Makefile.am: New file, from
6719         gettext/autoconf-lib-link.
6720         * tests/havelib/rpathz/configure.ac: New file, from
6721         gettext/autoconf-lib-link with modifications.
6722         * tests/havelib/rpathlx/usex.c: New file, from
6723         gettext/autoconf-lib-link.
6724         * tests/havelib/rpathlx/Makefile.am: New file, from
6725         gettext/autoconf-lib-link.
6726         * tests/havelib/rpathlx/configure.ac: New file, from
6727         gettext/autoconf-lib-link with modifications.
6728         * tests/havelib/rpathly/usey.c: New file, from
6729         gettext/autoconf-lib-link.
6730         * tests/havelib/rpathly/Makefile.am: New file, from
6731         gettext/autoconf-lib-link.
6732         * tests/havelib/rpathly/configure.ac: New file, from
6733         gettext/autoconf-lib-link with modifications.
6734         * tests/havelib/rpathlz/usez.c: New file, from
6735         gettext/autoconf-lib-link.
6736         * tests/havelib/rpathlz/Makefile.am: New file, from
6737         gettext/autoconf-lib-link.
6738         * tests/havelib/rpathlz/configure.ac: New file, from
6739         gettext/autoconf-lib-link with modifications.
6740         * tests/havelib/rpathlyx/usey.c: New file, from
6741         gettext/autoconf-lib-link.
6742         * tests/havelib/rpathlyx/Makefile.am: New file, from
6743         gettext/autoconf-lib-link.
6744         * tests/havelib/rpathlyx/configure.ac: New file, from
6745         gettext/autoconf-lib-link with modifications.
6746         * tests/havelib/rpathlzyx/usez.c: New file, from
6747         gettext/autoconf-lib-link.
6748         * tests/havelib/rpathlzyx/Makefile.am: New file, from
6749         gettext/autoconf-lib-link.
6750         * tests/havelib/rpathlzyx/configure.ac: New file, from
6751         gettext/autoconf-lib-link with modifications.
6752         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
6753         with modifications.
6754
6755 2010-04-02  Bruno Haible  <bruno@clisp.org>
6756
6757         gnulib-tool: Create distributed built sources also for the tests.
6758         * gnulib-tool (func_create_testdir): Also generate distributed built
6759         sources in the tests directory.
6760
6761 2010-04-02  Bruno Haible  <bruno@clisp.org>
6762
6763         gnulib-tool: Obey user's environment variables.
6764         * gnulib-tool (func_create_testdir): When creating built sources,
6765         respect the environment variables for autoconf, automake, etc. given by
6766         the user.
6767
6768 2010-04-02  Bruno Haible  <bruno@clisp.org>
6769
6770         gnulib-tool: Provide the value of --m4-base to modules.
6771         * gnulib-tool (func_import, func_create_testdir): Emit a definition
6772         of gl_m4_base.
6773
6774 2010-04-02  Eric Blake  <eblake@redhat.com>
6775
6776         maint.mk: fix some fallout
6777         * NEWS: Document the incompatible change, and its effect on cfg.mk.
6778         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
6779
6780 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
6781
6782         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
6783         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
6784         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
6785         (sc_cast_of_x_alloc_return_value): Likewise.
6786         (sc_cast_of_alloca_return_value): Likewise.
6787         (sc_space_tab): Likewise.
6788         (sc_prohibit_atoi_atof): Likewise.
6789         (sc_prohibit_magic_number_exit): Likewise.
6790         (sc_error_exit_success): Likewise.
6791         (sc_file_system): Likewise.
6792         (sc_prohibit_have_config_h): Likewise.
6793         (sc_require_config_h): Likewise.
6794         (sc_prohibit_HAVE_MBRTOWC): Likewise.
6795         (sc_obsolete_symbols): Likewise.
6796         (sc_changelog): Likewise.
6797         (sc_program_name): Likewise.
6798         (sc_the_the): Likewise.
6799         (sc_trailing_blank): Likewise.
6800         (sc_two_space_separator_in_usage): Likewise.
6801         (sc_useless_cpp_parens): Likewise.
6802         (sc_GPL_version): Likewise.
6803         (sc_GFDL_version): Likewise.
6804         (sc_texinfo_acronym): Likewise.
6805         (sc_prohibit_cvs_keyword): Likewise.
6806         (sc_prohibit_stat_st_blocks): Likewise.
6807         (sc_prohibit_S_IS_definition): Likewise.
6808         (sc_redundant_const): Likewise.
6809         (sc_makefile_TAB_only_indentation): Likewise.
6810         (sc_m4_quote_check): Likewise.
6811         (sc_makefile_path_separator_check): Likewise.
6812         (sc_copyright_check): Likewise.
6813         (sc_Wundef_boolean): Likewise.
6814         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
6815
6816         maint.mk: match 0 or more whitespace-before-function-call '('
6817         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
6818         that have zero or two-and-more spaces between the function name
6819         and the open parenthesis.
6820         (sc_error_message_warn_fatal): Likewise.
6821         (sc_error_message_uppercase): Likewise.
6822         (sc_error_message_period): Likewise.
6823
6824 2010-03-31  Eric Blake  <eblake@redhat.com>
6825
6826         maint.mk: check for [ as well as test
6827         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
6828         Based on a libvirt report by Matthias Bolte.
6829
6830         gnumakefile: don't squelch _version output
6831         * top/GNUmakefile (_version): Create one-shot dependency rather
6832         than using $(shell) when version must be regenerated.
6833         (_autoreconf): Run verbosely, by default.
6834
6835         sys_time: avoid compiler warnings
6836         * lib/sys_time.in.h (includes): Ensure gcc pragma is
6837         unconditional, fixing regression from 2010-03-29.
6838         Reported by Simon Josefsson.
6839
6840 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
6841
6842         maint.mk: s/_header_without_use/_sc_header_without_use/
6843         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
6844         (sc_prohibit_assert_without_use): Use the new name.
6845         (sc_prohibit_close_stream_without_use): Likewise.
6846         (sc_prohibit_getopt_without_use): Likewise.
6847         (sc_prohibit_quotearg_without_use): Likewise.
6848         (sc_prohibit_quote_without_use): Likewise.
6849         (sc_prohibit_long_options_without_use): Likewise.
6850         (sc_prohibit_inttostr_without_use): Likewise.
6851         (sc_prohibit_ignore_value_without_use): Likewise.
6852         (sc_prohibit_error_without_use): Likewise.
6853         (sc_prohibit_xalloc_without_use): Likewise.
6854         (sc_prohibit_hash_without_use): Likewise.
6855         (sc_prohibit_hash_pjw_without_use): Likewise.
6856         (sc_prohibit_safe_read_without_use): Likewise.
6857         (sc_prohibit_argmatch_without_use): Likewise.
6858         (sc_prohibit_canonicalize_without_use): Likewise.
6859         (sc_prohibit_root_dev_ino_without_use): Likewise.
6860         (sc_prohibit_openat_without_use): Likewise.
6861         (sc_prohibit_c_ctype_without_use): Likewise.
6862         (sc_prohibit_signal_without_use): Likewise.
6863         (sc_prohibit_intprops_without_use): Likewise.
6864
6865 2010-03-30  Eric Blake  <eblake@redhat.com>
6866
6867         maint: improve module indicators
6868         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
6869         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
6870         columns, and avoid extra macro expansion.
6871
6872         fdopendir: work around FreeBSD bug
6873         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
6874         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
6875         * modules/dirent (Makefile.am): Substitute it.
6876         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
6877         declaration.
6878         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
6879         fix.
6880         Reported by Christian Weisgerber <naddy@mips.inka.de>.
6881
6882 2010-03-29  Bruno Haible  <bruno@clisp.org>
6883
6884         Emit #pragma system_header after the inclusion guard, not before.
6885         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
6886         guard that spans the entire file, not before. This enables an
6887         optimization in GCC's preprocessor.
6888         * lib/ctype.in.h: Likewise.
6889         * lib/dirent.in.h: Likewise.
6890         * lib/errno.in.h: Likewise.
6891         * lib/float.in.h: Likewise.
6892         * lib/getopt.in.h: Likewise.
6893         * lib/iconv.in.h: Likewise.
6894         * lib/langinfo.in.h: Likewise.
6895         * lib/locale.in.h: Likewise.
6896         * lib/math.in.h: Likewise.
6897         * lib/netdb.in.h: Likewise.
6898         * lib/netinet_in.in.h: Likewise.
6899         * lib/pty.in.h: Likewise.
6900         * lib/sched.in.h: Likewise.
6901         * lib/se-selinux.in.h: Likewise.
6902         * lib/search.in.h: Likewise.
6903         * lib/spawn.in.h: Likewise.
6904         * lib/stdarg.in.h: Likewise.
6905         * lib/stdint.in.h: Likewise.
6906         * lib/string.in.h: Likewise.
6907         * lib/strings.in.h: Likewise.
6908         * lib/sys_file.in.h: Likewise.
6909         * lib/sys_ioctl.in.h: Likewise.
6910         * lib/sys_time.in.h: Likewise.
6911         * lib/sys_times.in.h: Likewise.
6912         * lib/sys_utsname.in.h: Likewise.
6913         * lib/sys_wait.in.h: Likewise.
6914         * lib/sysexits.in.h: Likewise.
6915         * lib/wctype.in.h: Likewise.
6916
6917 2010-03-28  James Youngman  <jay@gnu.org>
6918
6919         save-cwd: don't leak a file descriptor when the caller execs.
6920         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
6921         saved file descriptor.
6922         * modules/save-cwd (Depends-on): Depend on cloexec.
6923
6924 2010-03-29  Bruno Haible  <bruno@clisp.org>
6925
6926         Remove vestiges of fts-lgpl module.
6927         * lib/fts_.h: Assume GNULIB_FTS is 1.
6928         * lib/fts.c: Likewise.
6929         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
6930
6931 2010-03-28  Bruno Haible  <bruno@clisp.org>
6932
6933         Fix definition of tests witness macro.
6934         * gnulib-tool (func_import): Fix definition of witness macro.
6935
6936 2010-03-28  Bruno Haible  <bruno@clisp.org>
6937
6938         Fix ioctl's protoype on glibc systems.
6939         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
6940         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
6941         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
6942         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
6943         signature. If not, arrange to replace the ioctl function.
6944         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
6945         REPLACE_IOCTL.
6946         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
6947         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
6948         Reported by Ludovic Courtès <ludo@gnu.org>.
6949
6950 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
6951
6952         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
6953         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
6954         made it so grep -r --include=GLOB* ... did not work.
6955
6956 2010-03-26  Jim Meyering  <meyering@redhat.com>
6957             Eric Blake  <eblake@redhat.com>
6958
6959         maint.mk: prohibit use of test's -o and -a operators
6960         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
6961
6962 2010-03-28  Bruno Haible  <bruno@clisp.org>
6963
6964         Remove unused GNULIB_XYZ macro definitions.
6965         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
6966         invocation.
6967
6968 2010-03-28  Bruno Haible  <bruno@clisp.org>
6969
6970         Mark privileged tests modules.
6971         * modules/idpriv-drop-tests (Status): New section.
6972         * modules/idpriv-droptemp-tests (Status): New section.
6973
6974 2010-03-28  Bruno Haible  <bruno@clisp.org>
6975
6976         Split C++ tests into separate tests modules.
6977         * modules/dirent-c++-tests: New file, extracted from
6978         modules/dirent-tests.
6979         * modules/dirent-tests: Depend on it.
6980         * modules/fcntl-h-c++-tests: New file, extracted from
6981         modules/fcntl-h-tests.
6982         * modules/fcntl-h-tests: Depend on it.
6983         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
6984         * modules/glob-tests: Depend on it.
6985         * modules/iconv-h-c++-tests: New file, extracted from
6986         modules/iconv-h-tests.
6987         * modules/iconv-h-tests: Depend on it.
6988         * modules/langinfo-c++-tests: New file, extracted from
6989         modules/langinfo-tests.
6990         * modules/langinfo-tests: Depend on it.
6991         * modules/locale-c++-tests: New file, extracted from
6992         modules/locale-tests.
6993         * modules/locale-tests: Depend on it.
6994         * modules/math-c++-tests: New file, extracted from modules/math-tests.
6995         * modules/math-tests: Depend on it.
6996         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
6997         * modules/pty-tests: Depend on it.
6998         * modules/search-c++-tests: New file, extracted from
6999         modules/search-tests.
7000         * modules/search-tests: Depend on it.
7001         * modules/signal-c++-tests: New file, extracted from
7002         modules/signal-tests.
7003         * modules/signal-tests: Depend on it.
7004         * modules/spawn-c++-tests: New file, extracted from
7005         modules/spawn-tests.
7006         * modules/spawn-tests: Depend on it.
7007         * modules/stdio-c++-tests: New file, extracted from
7008         modules/stdio-tests.
7009         * modules/stdio-tests: Depend on it.
7010         * modules/stdlib-c++-tests: New file, extracted from
7011         modules/stdlib-tests.
7012         * modules/stdlib-tests: Depend on it.
7013         * modules/string-c++-tests: New file, extracted from
7014         modules/string-tests.
7015         * modules/string-tests: Depend on it.
7016         * modules/sys_ioctl-c++-tests: New file, extracted from
7017         modules/sys_ioctl-tests.
7018         * modules/sys_ioctl-tests: Depend on it.
7019         * modules/sys_select-c++-tests: New file, extracted from
7020         modules/sys_select-tests.
7021         * modules/sys_select-tests: Depend on it.
7022         * modules/sys_socket-c++-tests: New file, extracted from
7023         modules/sys_socket-tests.
7024         * modules/sys_socket-tests: Depend on it.
7025         * modules/sys_stat-c++-tests: New file, extracted from
7026         modules/sys_stat-tests.
7027         * modules/sys_stat-tests: Depend on it.
7028         * modules/sys_time-c++-tests: New file, extracted from
7029         modules/sys_time-tests.
7030         * modules/sys_time-tests: Depend on it.
7031         * modules/time-c++-tests: New file, extracted from modules/time-tests.
7032         * modules/time-tests: Depend on it.
7033         * modules/unistd-c++-tests: New file, extracted from
7034         modules/unistd-tests.
7035         * modules/unistd-tests: Depend on it.
7036         * modules/wchar-c++-tests: New file, extracted from
7037         modules/wchar-tests.
7038         * modules/wchar-tests: Depend on it.
7039         * modules/wctype-c++-tests: New file, extracted from
7040         modules/wctype-tests.
7041         * modules/wctype-tests: Depend on it.
7042         Reported by Simon Josefsson.
7043
7044 2010-03-28  Bruno Haible  <bruno@clisp.org>
7045
7046         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
7047         * gnulib-tool (func_exists_module): New function, extracted from
7048         func_verify_module.
7049         (func_verify_module): Use it.
7050         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
7051         'foo' only if 'foo' exists.
7052         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
7053         module.
7054
7055 2010-03-28  Bruno Haible  <bruno@clisp.org>
7056
7057         gnulib-tool: Add support for special categories of tests.
7058         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
7059         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
7060         (func_usage): Document them.
7061         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
7062         inc_unportable_tests, inc_all_tests): New variables.
7063         (func_acceptable): Consider these variables.
7064         (func_modules_transitive_closure): Make it work when the 'Status' field
7065         consists of multiple words.
7066         (func_import): Store and restore the values of inc_cxx_tests,
7067         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
7068         inc_all_tests in gnulib-comp.m4.
7069         (func_create_testdir): Set inc_all_tests to true.
7070         * doc/gnulib.texi (Extra tests modules): New section.
7071         Suggested by Jim Meyering.
7072
7073 2010-03-28  Bruno Haible  <bruno@clisp.org>
7074
7075         ansi-c++-opt: Allow turning off the C++ build by default.
7076         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
7077         gl_CXX_CHOICE_DEFAULT_NO is defined.
7078         Requested by Eric Blake.
7079
7080 2010-03-28  Bruno Haible  <bruno@clisp.org>
7081
7082         unistd: Avoid #define replacements in C++ mode.
7083         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
7084         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
7085         setsockopt, shutdown, select): In C++, attach a warning to the function
7086         if possible, rather than #defining the symbol to a dysfunctional alias.
7087         Reported by John W. Eaton <jwe@gnu.org>.
7088
7089 2010-03-28  Bruno Haible  <bruno@clisp.org>
7090
7091         Fix link errors on mingw.
7092         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
7093         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
7094         $(LIBSOCKET).
7095         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
7096         $(LIBSOCKET).
7097
7098 2010-03-28  Bruno Haible  <bruno@clisp.org>
7099             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7100
7101         lib-ignore: Determine different options for different compilers.
7102         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
7103         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
7104         Add comments.
7105         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
7106         * NEWS: Mention the change.
7107
7108 2010-03-27  Bruno Haible  <bruno@clisp.org>
7109
7110         Remove unused GNULIB_XYZ macro definitions.
7111         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
7112         * modules/fseek (configure.ac): Likewise.
7113         * modules/ioctl (configure.ac): Likewise.
7114         * modules/open (configure.ac): Likewise.
7115         * modules/stdlib-safer (configure.ac): Likewise.
7116
7117 2010-03-27  Bruno Haible  <bruno@clisp.org>
7118
7119         Add a remark about certain modules.
7120         * modules/malloc (Comment): New section.
7121         * modules/realloc (Comment): Likewise.
7122         * modules/sigpipe (Comment): Likewise.
7123
7124 2010-03-27  Bruno Haible  <bruno@clisp.org>
7125
7126         Resolve conflict between the two kinds of module indicators.
7127         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
7128         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
7129         * modules/canonicalize (configure.ac): Invoke
7130         gl_MODULE_INDICATOR_FOR_TESTS.
7131         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
7132         GNULIB_XYZ.
7133         * tests/test-dirent-c++.cc: Likewise.
7134         * tests/test-dirent-safer.c: Likewise.
7135         * tests/test-dup2.c: Likewise.
7136         * tests/test-fchdir.c: Likewise.
7137         * tests/test-fcntl-h-c++.cc: Likewise.
7138         * tests/test-getopt.c: Likewise.
7139         * tests/test-getopt.h: Likewise.
7140         * tests/test-langinfo-c++.cc: Likewise.
7141         * tests/test-locale-c++.cc: Likewise.
7142         * tests/test-math-c++.cc: Likewise.
7143         * tests/test-pty-c++.cc: Likewise.
7144         * tests/test-search-c++.cc: Likewise.
7145         * tests/test-signal-c++.cc: Likewise.
7146         * tests/test-spawn-c++.cc: Likewise.
7147         * tests/test-stdio-c++.cc: Likewise.
7148         * tests/test-stdlib-c++.cc: Likewise.
7149         * tests/test-string-c++.cc: Likewise.
7150         * tests/test-sys_ioctl-c++.cc: Likewise.
7151         * tests/test-sys_select-c++.cc: Likewise.
7152         * tests/test-sys_socket-c++.cc: Likewise.
7153         * tests/test-sys_stat-c++.cc: Likewise.
7154         * tests/test-sys_time-c++.cc: Likewise.
7155         * tests/test-time-c++.cc: Likewise.
7156         * tests/test-unistd-c++.cc: Likewise.
7157         * tests/test-wchar-c++.cc: Likewise.
7158         * tests/uninorm/test-u8-nfc.c: Likewise.
7159         * tests/uninorm/test-u8-nfd.c: Likewise.
7160         * tests/uninorm/test-u8-nfkc.c: Likewise.
7161         * tests/uninorm/test-u8-nfkd.c: Likewise.
7162         * tests/uninorm/test-u16-nfc.c: Likewise.
7163         * tests/uninorm/test-u16-nfd.c: Likewise.
7164         * tests/uninorm/test-u16-nfkc.c: Likewise.
7165         * tests/uninorm/test-u16-nfkd.c: Likewise.
7166         * tests/uninorm/test-u32-nfc.c: Likewise.
7167         * tests/uninorm/test-u32-nfc-big.c: Likewise.
7168         * tests/uninorm/test-u32-nfd.c: Likewise.
7169         * tests/uninorm/test-u32-nfd-big.c: Likewise.
7170         * tests/uninorm/test-u32-nfkc.c: Likewise.
7171         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
7172         * tests/uninorm/test-u32-nfkd.c: Likewise.
7173         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
7174         * tests/uninorm/test-u32-normalize-big.c: Likewise.
7175
7176 2010-03-27  Bruno Haible  <bruno@clisp.org>
7177
7178         Distinguish two kinds of module indicators.
7179         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
7180         gl_MODULE_INDICATOR.
7181         (gl_MODULE_INDICATOR): New macro.
7182         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
7183         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
7184         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
7185         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
7186         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
7187         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
7188         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
7189         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
7190         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
7191         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
7192         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
7193         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
7194         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
7195         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
7196         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
7197         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
7198         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
7199         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
7200         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
7201         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
7202         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
7203         * modules/cloexec (configure.ac): Likewise.
7204         * modules/getopt-gnu (configure.ac): Likewise.
7205         * modules/uninorm/u8-normalize (configure.ac): Likewise.
7206         * modules/uninorm/u16-normalize (configure.ac): Likewise.
7207         * modules/uninorm/u32-normalize (configure.ac): Likewise.
7208         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
7209
7210 2010-03-27  Bruno Haible  <bruno@clisp.org>
7211
7212         New module description field 'Comment'.
7213         * gnulib-tool: New option --extract-comment.
7214         (func_usage): Document it.
7215         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
7216         (func_get_comment): New function.
7217         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
7218
7219 2010-03-27  Bruno Haible  <bruno@clisp.org>
7220
7221         Addendum to 2010-02-07 commit.
7222         * gnulib-tool (func_usage): Document --extract-applicability option.
7223
7224 2010-03-27  Bruno Haible  <bruno@clisp.org>
7225
7226         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
7227         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
7228         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
7229         rather than link errors.
7230
7231 2010-03-27  Bruno Haible  <bruno@clisp.org>
7232
7233         Avoid side effects from tests-related modules on the compilation of lib.
7234         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
7235         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
7236         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
7237         parameter. Emit into AM_CPPFLAGS a definition of the designated C
7238         macro.
7239         (func_import): Define a witness macro. Assign it a value that depends
7240         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
7241         tests-related modules.
7242         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
7243         Reported by Jim Meyering.
7244
7245 2010-03-27  Bruno Haible  <bruno@clisp.org>
7246
7247         Factorize common .m4 code.
7248         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
7249         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
7250         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
7251         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
7252         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
7253         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
7254         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
7255         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
7256         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
7257         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
7258         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
7259         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
7260         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
7261         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
7262         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
7263         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
7264         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
7265         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
7266         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
7267         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
7268         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
7269         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
7270         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
7271         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
7272         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
7273         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
7274         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
7275         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
7276         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
7277         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
7278         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
7279         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
7280
7281 2010-03-27  Bruno Haible  <bruno@clisp.org>
7282
7283         Fix a compilation error on Cygwin with g++ >= 4.3.
7284         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
7285         if it is undefined or if we alias it to chmod.
7286         (lstat): Don't warn about the use of this function if it is undefined
7287         or if we alias it to stat.
7288         Reported by Simon Josefsson.
7289
7290 2010-03-27  Bruno Haible  <bruno@clisp.org>
7291
7292         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
7293         * modules/getlogin (configure.ac): Update.
7294
7295         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
7296         * modules/getlogin_r (configure.ac): Update.
7297
7298         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
7299         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
7300         * modules/inet_ntop (configure.ac): Update.
7301
7302         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
7303         * modules/inet_pton (configure.ac): Update.
7304
7305         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
7306         * modules/mbslen (configure.ac): Update.
7307
7308         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
7309         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
7310         * modules/forkpty (configure.ac): Update.
7311         * modules/openpty (configure.ac): Update.
7312
7313 2010-03-26  Simon Josefsson  <simon@josefsson.org>
7314
7315         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
7316         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
7317
7318 2010-03-25  Eric Blake  <eblake@redhat.com>
7319
7320         maint: use pragma consistently across replacement headers
7321         * lib/ctype.in.h (system_header): Hoist for consistent placement.
7322         * lib/dirent.in.h (system_header): Likewise.
7323         * lib/errno.in.h (system_header): Likewise.
7324         * lib/float.in.h (system_header): Likewise.
7325         * lib/getopt.in.h (system_header): Likewise.
7326         * lib/iconv.in.h (system_header): Likewise.
7327         * lib/inttypes.in.h (system_header): Likewise.
7328         * lib/langinfo.in.h (system_header): Likewise.
7329         * lib/locale.in.h (system_header): Likewise.
7330         * lib/math.in.h (system_header): Likewise.
7331         * lib/netdb.in.h (system_header): Likewise.
7332         * lib/netinet_in.in.h (system_header): Likewise.
7333         * lib/pty.in.h (system_header): Likewise.
7334         * lib/sched.in.h (system_header): Likewise.
7335         * lib/se-selinux.in.h (system_header): Likewise.
7336         * lib/search.in.h (system_header): Likewise.
7337         * lib/spawn.in.h (system_header): Likewise.
7338         * lib/stdarg.in.h (system_header): Likewise.
7339         * lib/stdint.in.h (system_header): Likewise.
7340         * lib/string.in.h (system_header): Likewise.
7341         * lib/strings.in.h (system_header): Likewise.
7342         * lib/sys_file.in.h (system_header): Likewise.
7343         * lib/sys_ioctl.in.h (system_header): Likewise.
7344         * lib/sys_socket.in.h (system_header): Likewise.
7345         * lib/sys_times.in.h (system_header): Likewise.
7346         * lib/sys_utsname.in.h (system_header): Likewise.
7347         * lib/sys_wait.in.h (system_header): Likewise.
7348         * lib/sysexits.in.h (system_header): Likewise.
7349         * lib/unistd.in.h (system_header): Likewise.
7350         * lib/wctype.in.h (system_header): Likewise.
7351
7352         arpa/inet: fix mingw compilation warning
7353         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
7354         Reported by Matthew Bolte.
7355
7356 2010-03-25  Bruno Haible  <bruno@clisp.org>
7357
7358         Avoid collision between gnulib wrapper and libintl wrapper.
7359         * lib/printf.c (printf): Don't define if a printf wrapper is already
7360         defined in intl/printf.c.
7361         Reported by Michel Boaventura <michel@michelboaventura.com>.
7362
7363 2010-03-25  Bruno Haible  <bruno@clisp.org>
7364
7365         Use ANSI C.
7366         * lib/readutmp.h (getutent): Provide ANSI C prototype.
7367
7368 2010-03-25  Bruno Haible  <bruno@clisp.org>
7369
7370         Minor formatting changes.
7371         * lib/acosl.c: Insert space before function argument list.
7372         * lib/argz.c: Likewise.
7373         * lib/asinl.c: Likewise.
7374         * lib/expl.c: Likewise.
7375         * lib/gen-uni-tables.c: Likewise.
7376         * lib/gettext.h: Likewise.
7377         * lib/glthread/lock.h: Likewise.
7378         * lib/tanl.c: Likewise.
7379         * lib/uniname/uniname.c: Likewise.
7380         * tests/test-idpriv-drop.c: Likewise.
7381         * tests/test-idpriv-droptemp.c: Likewise.
7382         * tests/test-lock.c: Likewise.
7383         * tests/test-tls.c: Likewise.
7384         * lib/argp-help.c: Insert space before function-like macro argument
7385         list.
7386         * lib/memcmp.c: Likewise.
7387         * tests/test-base64.c: Likewise.
7388         * lib/localename.c: Insert space before sizeof's argument list.
7389         * lib/safe-alloc.h: Likewise.
7390         * lib/file-set.h: Insert space before macro argument list.
7391         * tests/test-argp.c: Likewise.
7392         * lib/argp-namefrob.h: Insert space before function parameter list.
7393         * lib/getaddrinfo.c: Likewise.
7394         * lib/netdb.in.h: Likewise.
7395         * lib/parse-duration.h: Likewise.
7396         * lib/parse-duration.c: Likewise.
7397         * lib/poll.c: Likewise.
7398         * lib/select.c: Likewise.
7399         * lib/trim.h: Likewise.
7400         * tests/test-usleep.c: Likewise.
7401         * lib/ldexpl.c: Insert space before function parameter list and before
7402         function argument list.
7403         * lib/logl.c: Likewise.
7404         * lib/sqrtl.c: Likewise.
7405         * lib/trim.c: Likewise.
7406         * lib/cosl.c: Use GNU style indentation. Insert space before function
7407         argument list.
7408         * lib/sinl.c: Likewise.
7409         * lib/tsearch.c: Insert space after 'for'.
7410         Reported by Jim Meyering.
7411
7412 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
7413
7414         * maint.mk (sc_Wundef_boolean): Check for the presence of the
7415         config header before grepping, as it's not present before
7416         autoreconf/configure are run.  Reported by Simon Josefsson.
7417
7418 2010-03-23  Bruno Haible  <bruno@clisp.org>
7419
7420         pt_chown: Make it work with automake < 1.11.
7421         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
7422         Reported by Simon Josefsson.
7423
7424 2010-03-23  Bruno Haible  <bruno@clisp.org>
7425
7426         pt_chown: Don't depend on GPLed modules.
7427         * lib/pt_chown.c: Don't include idpriv.h.
7428         (main): Don't drop privileges.
7429         * modules/pt_chown (Depends-on): Remove idpriv-drop.
7430         Reported by Simon Josefsson.
7431
7432 2010-03-24  Simon Josefsson  <simon@josefsson.org>
7433
7434         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
7435         suggestions from karl@freefriends.org (Karl Berry).
7436
7437 2010-03-22  Eric Blake  <eblake@redhat.com>
7438
7439         gethostname: further tweaks
7440         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
7441         are overriding gethostname.
7442         Suggested by Bruno Haible.
7443
7444 2010-03-21  Bruno Haible  <bruno@clisp.org>
7445
7446         Fix comments.
7447         * lib/forkpty.c (rpl_forkpty): Fix comment.
7448         * lib/openpty.c (rpl_openpty): Likewise.
7449         Reported by Eric Blake.
7450
7451 2010-03-22  Eric Blake  <eblake@redhat.com>
7452
7453         gethostname: fix build on mingw
7454         * lib/unistd.in.h (includes): Work around fact that mingw
7455         <winsock2.h> re-includes <unistd.h>, by avoiding any
7456         redeclarations if we are being included by <winsock2.h>.
7457         Reported by Matthias Bolte.
7458
7459 2010-03-21  Bruno Haible  <bruno@clisp.org>
7460
7461         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
7462         * lib/forkpty.c (forkpty): New replacement function, from glibc with
7463         modifications.
7464         * lib/pty.in.h (forkpty): Update declaration. Add comments.
7465         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
7466         provide the replacement.
7467         * modules/forkpty (Depends-on): Add openpty, login_tty.
7468         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
7469         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
7470         * doc/glibc-functions/forkpty.texi: More supported platforms.
7471         * config/srclist.txt: Add forkpty.c (commented).
7472
7473 2010-03-21  Bruno Haible  <bruno@clisp.org>
7474
7475         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
7476         (Makefile.am): Verify that PTY_LIB is defined.
7477
7478         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
7479
7480 2010-03-21  Bruno Haible  <bruno@clisp.org>
7481
7482         Tests for module 'login_tty'.
7483         * modules/login_tty-tests: New file.
7484         * tests/test-login_tty.c: New file.
7485
7486         New module 'login_tty'.
7487         * lib/login_tty.c: New file.
7488         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
7489         * modules/login_tty: New file.
7490         * doc/glibc-functions/login_tty.texi: Mention the new module.
7491
7492 2010-03-21  Bruno Haible  <bruno@clisp.org>
7493
7494         login_tty: Documentation.
7495         * doc/glibc-functions/login_tty.texi: New file.
7496         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
7497
7498 2010-03-21  Bruno Haible  <bruno@clisp.org>
7499
7500         pty: Consistent macro naming.
7501         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
7502         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
7503         * modules/pty (configure.ac): Update.
7504
7505 2010-03-21  Bruno Haible  <bruno@clisp.org>
7506
7507         Tests for openpty: Make stricter.
7508         * tests/test-openpty.c (main): Add test of canonical processing and
7509         erase.
7510         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
7511
7512         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
7513         * lib/openpty.c (openpty): New replacement function.
7514         * lib/pty.in.h: Include <termios.h>.
7515         (openpty): Update declaration. Add comments.
7516         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
7517         is not declared, arrange to provide the replacement. Check for _getpty
7518         and posix_openpt.
7519         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
7520         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
7521         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
7522         * modules/pty-tests (test_pty_c___LDADD): New variable.
7523         * doc/glibc-functions/openpty.texi: More supported platforms.
7524
7525 2010-03-21  Bruno Haible  <bruno@clisp.org>
7526
7527         setenv: Tweaks.
7528         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
7529         the test program.
7530         * doc/posix-functions/setenv.texi: Update platforms list.
7531
7532 2010-03-21  Bruno Haible  <bruno@clisp.org>
7533
7534         New module 'unlockpt'.
7535         * lib/unlockpt.c: New file, from glibc with modifications.
7536         * m4/unlockpt.m4: New file.
7537         * modules/unlockpt: New file.
7538         * lib/stdlib.in.h (unlockpt): New declaration.
7539         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
7540         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
7541         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
7542         HAVE_UNLOCKPT.
7543         * doc/posix-functions/unlockpt.texi: Mention the new module.
7544         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
7545         * config/srclist.txt: Add unlockpt.c (commented).
7546
7547 2010-03-21  Jim Meyering  <meyering@redhat.com>
7548
7549         maint.mk: prohibit inclusion of "intprops.h" without use
7550         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
7551
7552 2010-03-21  Bruno Haible  <bruno@clisp.org>
7553
7554         New module 'grantpt'.
7555         * lib/grantpt.c: New file, from glibc with modifications.
7556         * m4/grantpt.m4: New file.
7557         * modules/grantpt: New file.
7558         * lib/stdlib.in.h (grantpt): New declaration.
7559         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
7560         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
7561         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
7562         HAVE_GRANTPT.
7563         * doc/posix-functions/grantpt.texi: Mention the new module.
7564         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
7565         * config/srclist.txt: Add grantpt.c (commented).
7566
7567 2010-03-21  Bruno Haible  <bruno@clisp.org>
7568
7569         New module 'pt_chown'.
7570         * lib/pt_chown.c: New file, from glibc with modifications.
7571         * lib/pty-private.h: New file, from glibc with modifications.
7572         * modules/pt_chown: New file.
7573         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
7574
7575 2010-03-21  Bruno Haible  <bruno@clisp.org>
7576
7577         Tests for module 'ptsname'.
7578         * modules/ptsname-tests: New file.
7579         * tests/test-ptsname.c: New file.
7580
7581         New module 'ptsname'.
7582         * lib/ptsname.c: New file, from glibc with modifications.
7583         * m4/ptsname.m4: New file.
7584         * modules/ptsname: New file.
7585         * lib/stdlib.in.h (ptsname): New declaration.
7586         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
7587         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
7588         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
7589         HAVE_PTSNAME.
7590         * doc/posix-functions/ptsname.texi: Mention the new module.
7591         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
7592         * config/srclist.txt: Add ptsname.c (commented).
7593
7594 2010-03-21  Bruno Haible  <bruno@clisp.org>
7595
7596         Tests for module 'ttyname_r'.
7597         * modules/ttyname_r-tests: New file.
7598         * tests/test-ttyname_r.c: New file.
7599
7600         New module 'ttyname_r'.
7601         * lib/ttyname_r.c: New file.
7602         * m4/ttyname_r.m4: New file.
7603         * modules/ttyname_r: New file.
7604         * lib/unistd.in.h (ttyname_r): New declaration.
7605         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
7606         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
7607         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
7608         HAVE_TTYNAME_R.
7609         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
7610         * doc/posix-functions/ttyname_r.texi: Mention the new module.
7611
7612 2010-03-20  Bruno Haible  <bruno@clisp.org>
7613
7614         signal: Undefine macro definitions in C++ mode.
7615         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
7616         sigfillset): Undefine macro definitions from the system header in C++
7617         mode.
7618         Reported by John W. Eaton <jwe@gnu.org>.
7619
7620 2010-03-20  Bruno Haible  <bruno@clisp.org>
7621
7622         Ensure no #include statements inside extern "C" { ... }.
7623         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
7624         contain #include statements.
7625         * lib/time.in.h: Likewise.
7626
7627 2010-03-20  Bruno Haible  <bruno@clisp.org>
7628
7629         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
7630         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
7631         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
7632         Reported by John W. Eaton <jwe@gnu.org>.
7633
7634 2010-03-20  Bruno Haible  <bruno@clisp.org>
7635
7636         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
7637         Reported by Jim Meyering.
7638
7639 2010-03-20  Bruno Haible  <bruno@clisp.org>
7640
7641         pipe: Set errno upon failure.
7642         * lib/pipe.h: Specify that when -1 is returned, errno is set.
7643         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
7644         errno value in error message.
7645
7646 2010-03-20  Bruno Haible  <bruno@clisp.org>
7647             Jim Meyering  <meyering@redhat.com>
7648
7649         lchown: Avoid "unused variable" warning.
7650         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
7651
7652 2010-03-20  Bruno Haible  <bruno@clisp.org>
7653
7654         Work around unlink() bug on MacOS X 10.5.6.
7655         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
7656         attempting to unlink a parent directory.
7657         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
7658         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
7659         activate for the replacement function.
7660         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
7661
7662 2010-03-20  Bruno Haible  <bruno@clisp.org>
7663
7664         Fix link errors on Solaris 8.
7665         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
7666         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
7667
7668 2010-03-19  Jim Meyering  <meyering@redhat.com>
7669
7670         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
7671         The _LIBC implementation of build_range_exp correctly honors the
7672         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
7673         However, the non-_LIBC implementation would ignore that syntax-bit
7674         flag and return REG_ERANGE unconditionally.
7675         This change makes it honor that flag.
7676         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
7677         Make two pointer parameters "const".
7678         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
7679         (parse_bracket_exp): Update caller.
7680
7681         regex.m4: correct the reversed range endpoint ([b-a]) test
7682         * m4/regex.m4: When requiring that [b-a] evoke failure,
7683         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
7684         test pass once again for x86-based systems.
7685
7686 2010-03-19  Bruno Haible  <bruno@clisp.org>
7687
7688         scandir: Fix link error on Solaris 8.
7689         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
7690         macros.
7691
7692 2010-03-19  Bruno Haible  <bruno@clisp.org>
7693
7694         getusershell: Fix documentation.
7695         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
7696         module.
7697         * doc/glibc-functions/setusershell.texi: Likewise.
7698
7699         getusershell: Provide declaration, missing on Solaris 9.
7700         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
7701         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
7702         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
7703         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
7704         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
7705         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
7706         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
7707         HAVE_GETUSERSHELL.
7708         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
7709
7710 2010-03-19  Bruno Haible  <bruno@clisp.org>
7711
7712         wctype: Provide iswblank function.
7713         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
7714         exists and is fine.
7715         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
7716         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
7717         * tests/test-wctype.c (main): Re-enable the iswblank tests.
7718         * doc/posix-functions/iswblank.texi: Update.
7719
7720 2010-03-19  Bruno Haible  <bruno@clisp.org>
7721
7722         Tests of module 'pty' in C++ mode.
7723         * modules/pty-tests: New file.
7724         * tests/test-pty-c++.cc: New file.
7725         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
7726
7727 2010-03-19  Eric Blake  <eblake@redhat.com>
7728
7729         logb: fix documentation
7730         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
7731         1.5 declaration bug.
7732
7733         forkpty, openpty: prefer glibc's const-safe prototype
7734         * lib/forkpty.c (rpl_forkpty): New file.
7735         * lib/openpty.c (rpl_openpty): Likewise.
7736         * modules/forkpty (Files): Distribute it.
7737         * modules/openpty (Files): Likewise.
7738         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
7739         check...
7740         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
7741         replacement for for non-const BSD signature.
7742         * modules/pty (Makefile.am): Substitute witnesses.
7743         * lib/pty.in.h (forkpty, openpty): Declare replacements.
7744         * tests/test-forkpty.c: Update signature check.
7745         * tests/test-openpty.c: Likewise.
7746         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
7747         * doc/glibc-functions/openpty.texi (openpty): Likewise.
7748
7749         forkpty, openpty: split functions into new modules
7750         * modules/pty (Makefile.am): Substitute new witnesses.
7751         (Libraries): Move library detection...
7752         * modules/forkpty: ...into new module.
7753         * modules/openpty: Another new module.
7754         * modules/pty-tests: Rename and split...
7755         * modules/forkpty-tests: ...to this...
7756         * modules/openpty-tests: ...and this.
7757         * tests/test-pty.c: Rename and split...
7758         * tests/test-forkpty.c: ...to this...
7759         * tests/test-openpty.c: ...and this.
7760         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
7761         (gl_PTY): Split library searching...
7762         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
7763         (gl_FORKPTY, gl_OPENPTY): New macros.
7764         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
7765         * NEWS: Mention the split.
7766         * MODULES.html.sh (Misc): Document the modules.
7767         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
7768         * doc/glibc-functions/openpty.texi (openpty): Likewise.
7769
7770         pty: improve replacement header
7771         * lib/pty.in.h: New file.
7772         * modules/pty (Files): Ship it.
7773         (Makefile.am): Always build replacement.
7774         * m4/pty.m4: Rename...
7775         * m4/pty_h.m4: ...to this.
7776         (gl_PTY): Modernize setting of witness macros; update check of
7777         forkpty to take proper advantage of cache.
7778         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
7779
7780         getopt: avoid compiler warning
7781         * lib/getopt.c (attribute_hidden): Remove unused macro.
7782
7783 2010-03-18  Bruno Haible  <bruno@clisp.org>
7784
7785         Fix link errors on Solaris 8.
7786         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
7787         * modules/search-tests (test_search_c___LDADD): Likewise.
7788         * modules/signal-tests (test_signal_c___LDADD): Likewise.
7789         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
7790         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
7791         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
7792         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
7793         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
7794         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
7795
7796 2010-03-18  Bruno Haible  <bruno@clisp.org>
7797
7798         Fix bug introduced on 2010-03-14.
7799         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
7800         (gl_SPAWN_H): Require it.
7801         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
7802         Reported by Simon Josefsson.
7803
7804 2010-03-18  Bruno Haible  <bruno@clisp.org>
7805
7806         Fix typo introduced on 2009-12-31.
7807         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
7808         posix_spawn_file_actions_adddup2.
7809
7810 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
7811         and Eric Blake  <eblake@redhat.com>
7812
7813         test-vc-list-files-git: make more robust
7814         * tests/test-vc-list-files-git.sh: Unset problematic environment
7815         variables.  Chain commands together.
7816
7817 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
7818
7819         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
7820         `AC_CHECK_DECL' invocation.
7821
7822 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
7823
7824         * lib/inttostr.c (inttostr): Make sure the invocation of verify
7825         appears before executable statements. Suggested by Petr Sumbera
7826         <Petr.Sumbera@Sun.COM>.
7827
7828 2010-03-14  Bruno Haible  <bruno@clisp.org>
7829
7830         * tests/test-flock.c (test_exclusive): Comment out a test that causes
7831         portability problems. Instead use a simpler test.
7832         (main): Check that invalid arguments are rejected only on Linux.
7833
7834 2010-03-14  Bruno Haible  <bruno@clisp.org>
7835
7836         Fix bug introduced on 2009-12-31.
7837         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
7838         gl_PREREQ_SYS_H_WINSOCK2 always.
7839         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
7840         SYS_SOCKET_H variable.
7841         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
7842         Update comments.
7843         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
7844         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
7845         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
7846         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
7847         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
7848
7849 2010-03-14  Bruno Haible  <bruno@clisp.org>
7850
7851         Fix values returned by sinl, cosl.
7852         * lib/trigl.h: Add specification comments.
7853         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
7854         that combines the values from the precomputed table with the values of
7855         the Chebyshev polynomials.
7856
7857 2010-03-14  Bruno Haible  <bruno@clisp.org>
7858
7859         Fix compilation error when modules 'posix_spawn[p]' are not used.
7860         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
7861         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
7862
7863 2010-03-14  Bruno Haible  <bruno@clisp.org>
7864
7865         Fix compilation error on mingw when module 'time_r' is not used.
7866         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
7867         is 1.
7868         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
7869         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
7870         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
7871         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
7872
7873 2010-03-14  Bruno Haible  <bruno@clisp.org>
7874
7875         Fix compilation error with Sun C.
7876         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
7877         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
7878         instead of GCC specific ULONG_LONG_MAX.
7879         * lib/xstrtoll.c: Likewise.
7880         * lib/xstrtoull.c: Likewise.
7881
7882 2010-03-13  Bruno Haible  <bruno@clisp.org>
7883
7884         Allow the user to disable C++ code and tests.
7885         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
7886         (gl_PROG_ANSI_CXX): Require it.
7887
7888 2010-03-13  Bruno Haible  <bruno@clisp.org>
7889
7890         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
7891         cases.
7892
7893 2010-03-13  Bruno Haible  <bruno@clisp.org>
7894
7895         Test that gnulib does not break the standard C++ headers.
7896         * tests/test-locale-c++2.cc: New file.
7897         * modules/locale-tests (Files): Add it.
7898         (Makefile.am): Compile it for test-locale-c++.
7899         * tests/test-math-c++2.cc: New file.
7900         * modules/math-tests (Files): Add it.
7901         (Makefile.am): Compile it for test-math-c++.
7902         * tests/test-signal-c++2.cc: New file.
7903         * modules/signal-tests (Files): Add it.
7904         (Makefile.am): Compile it for test-signal-c++.
7905         * tests/test-stdio-c++2.cc: New file.
7906         * modules/stdio-tests (Files): Add it.
7907         (Makefile.am): Compile it for test-stdio-c++.
7908         * tests/test-stdlib-c++2.cc: New file.
7909         * modules/stdlib-tests (Files): Add it.
7910         (Makefile.am): Compile it for test-stdlib-c++.
7911         * tests/test-string-c++2.cc: New file.
7912         * modules/string-tests (Files): Add it.
7913         (Makefile.am): Compile it for test-string-c++.
7914         * tests/test-time-c++2.cc: New file.
7915         * modules/time-tests (Files): Add it.
7916         (Makefile.am): Compile it for test-time-c++.
7917         Reported by John W. Eaton <jwe@gnu.org>.
7918
7919 2010-03-13  Bruno Haible  <bruno@clisp.org>
7920
7921         * gnulib-tool (func_usage): Clarify which options are available for
7922         --create-testdir and --create-megatestdir.
7923
7924 2010-03-13  Bruno Haible  <bruno@clisp.org>
7925
7926         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
7927         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
7928         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
7929         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
7930         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
7931         when appropriate.
7932         Reported by Jim Meyering.
7933
7934 2010-03-12  Simon Josefsson  <simon@josefsson.org>
7935
7936         * gnulib-tool (func_import): Explain origin of code.
7937
7938 2010-03-12  Bruno Haible  <bruno@clisp.org>
7939
7940         Fix problem with automake's definition of CXXLINK.
7941         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
7942         Reported by Simon Josefsson and Ludovic Courtès.
7943
7944 2010-03-12  Bruno Haible  <bruno@clisp.org>
7945
7946         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
7947         stable releases.
7948
7949 2010-03-11  Bruno Haible  <bruno@clisp.org>
7950
7951         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
7952         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
7953         whether the system provides one variant or multiple variants of the
7954         function.
7955         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
7956         C++ compilers.
7957         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
7958         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
7959         Reported by Jim Meyering.
7960
7961 2010-03-09  Simon Josefsson  <simon@josefsson.org>
7962
7963         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
7964
7965 2010-03-08  Bruno Haible  <bruno@clisp.org>
7966
7967         gnulib-tool: Add support for --libtool in --create-testdir.
7968         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
7969         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
7970
7971 2010-03-08  Eric Blake  <eblake@redhat.com>
7972
7973         gnulib-tool.texi: mention possibility of git submodule
7974         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
7975         submodules.
7976         * doc/.gitignore: Ignore another generated file.
7977
7978 2010-03-08  Karl Berry  <karl@gnu.org>
7979
7980         * doc/gnulib-tool.texi (VCS Issues): Mention third option
7981         of committing gnulib files while skipping others.
7982
7983 2010-03-07  Bruno Haible  <bruno@clisp.org>
7984
7985         Tests of module 'wctype' in C++ mode.
7986         * tests/test-wctype-c++.cc: New file.
7987         * modules/wctype-tests (Files): Add it and tests/signature.h.
7988         (Depends-on): Add ansi-c++-opt.
7989         (Makefile.am): Arrange to compile and run test-wctype-c++.
7990
7991         Tests of module 'wchar' in C++ mode.
7992         * tests/test-wchar-c++.cc: New file.
7993         * modules/wchar-tests (Files): Add it and tests/signature.h.
7994         (Depends-on): Add ansi-c++-opt.
7995         (Makefile.am): Arrange to compile and run test-wchar-c++.
7996         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
7997         gl_MODULE_INDICATOR.
7998
7999         Tests of module 'unistd' in C++ mode.
8000         * tests/test-unistd-c++.cc: New file.
8001         * modules/unistd-tests (Files): Add it and tests/signature.h.
8002         (Depends-on): Add ansi-c++-opt.
8003         (Makefile.am): Arrange to compile and run test-unistd-c++.
8004         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
8005         gl_MODULE_INDICATOR.
8006
8007         Tests of module 'time' in C++ mode.
8008         * tests/test-time-c++.cc: New file.
8009         * modules/time-tests (Files): Add it and tests/signature.h.
8010         (Depends-on): Add ansi-c++-opt.
8011         (Makefile.am): Arrange to compile and run test-time-c++.
8012         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
8013
8014         Tests of module 'sys_time' in C++ mode.
8015         * tests/test-sys_time-c++.cc: New file.
8016         * modules/sys_time-tests (Files): Add it and tests/signature.h.
8017         (Depends-on): Add ansi-c++-opt.
8018         (Makefile.am): Arrange to compile and run test-sys_time-c++.
8019         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
8020         gl_MODULE_INDICATOR.
8021
8022         Tests of module 'sys_stat' in C++ mode.
8023         * tests/test-sys_stat-c++.cc: New file.
8024         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
8025         (Depends-on): Add ansi-c++-opt.
8026         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
8027         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
8028         gl_MODULE_INDICATOR.
8029
8030         Tests of module 'sys_socket' in C++ mode.
8031         * tests/test-sys_socket-c++.cc: New file.
8032         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
8033         (Depends-on): Add ansi-c++-opt.
8034         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
8035         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
8036         gl_MODULE_INDICATOR.
8037
8038         Tests of module 'sys_select' in C++ mode.
8039         * tests/test-sys_select-c++.cc: New file.
8040         * modules/sys_select-tests (Files): Add it and tests/signature.h.
8041         (Depends-on): Add ansi-c++-opt.
8042         (Makefile.am): Arrange to compile and run test-sys_select-c++.
8043         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
8044         gl_MODULE_INDICATOR.
8045
8046         Tests of module 'sys_ioctl' in C++ mode.
8047         * tests/test-sys_ioctl-c++.cc: New file.
8048         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
8049         (Depends-on): Add ansi-c++-opt.
8050         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
8051         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
8052         gl_MODULE_INDICATOR.
8053
8054         Tests of module 'string' in C++ mode.
8055         * tests/test-string-c++.cc: New file.
8056         * modules/string-tests (Files): Add it and tests/signature.h.
8057         (Depends-on): Add ansi-c++-opt.
8058         (Makefile.am): Arrange to compile and run test-string-c++.
8059         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
8060         gl_MODULE_INDICATOR.
8061
8062         Tests of module 'stdlib' in C++ mode.
8063         * tests/test-stdlib-c++.cc: New file.
8064         * modules/stdlib-tests (Files): Add it and tests/signature.h.
8065         (Depends-on): Add ansi-c++-opt.
8066         (Makefile.am): Arrange to compile and run test-stdlib-c++.
8067         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
8068         gl_MODULE_INDICATOR.
8069
8070         Tests of module 'stdio' in C++ mode.
8071         * tests/test-stdio-c++.cc: New file.
8072         * modules/stdio-tests (Files): Add it and tests/signature.h.
8073         (Depends-on): Add ansi-c++-opt.
8074         (Makefile.am): Arrange to compile and run test-stdio-c++.
8075         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
8076         gl_MODULE_INDICATOR.
8077
8078         Tests of module 'spawn' in C++ mode.
8079         * tests/test-spawn-c++.cc: New file.
8080         * modules/spawn-tests (Files): Add it and tests/signature.h.
8081         (Depends-on): Add ansi-c++-opt.
8082         (Makefile.am): Arrange to compile and run test-spawn-c++.
8083         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
8084         gl_MODULE_INDICATOR.
8085
8086         Tests of module 'signal' in C++ mode.
8087         * tests/test-signal-c++.cc: New file.
8088         * modules/signal-tests (Files): Add it and tests/signature.h.
8089         (Depends-on): Add ansi-c++-opt.
8090         (Makefile.am): Arrange to compile and run test-signal-c++.
8091         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
8092         gl_MODULE_INDICATOR.
8093
8094         Tests of module 'search' in C++ mode.
8095         * tests/test-search-c++.cc: New file.
8096         * modules/search-tests (Files): Add it and tests/signature.h.
8097         (Depends-on): Add ansi-c++-opt.
8098         (Makefile.am): Arrange to compile and run test-search-c++.
8099         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
8100         gl_MODULE_INDICATOR.
8101
8102         Tests of module 'math' in C++ mode.
8103         * tests/test-math-c++.cc: New file.
8104         * modules/math-tests (Files): Add it and tests/signature.h.
8105         (Depends-on): Add ansi-c++-opt.
8106         (Makefile.am): Arrange to compile and run test-math-c++.
8107         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
8108
8109         Tests of module 'locale' in C++ mode.
8110         * tests/test-locale-c++.cc: New file.
8111         * modules/locale-tests (Files): Add it and tests/signature.h.
8112         (Depends-on): Add ansi-c++-opt.
8113         (Makefile.am): Arrange to compile and run test-locale-c++.
8114         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
8115         gl_MODULE_INDICATOR.
8116
8117         Tests of module 'langinfo' in C++ mode.
8118         * tests/test-langinfo-c++.cc: New file.
8119         * modules/langinfo-tests (Files): Add it and tests/signature.h.
8120         (Depends-on): Add ansi-c++-opt.
8121         (Makefile.am): Arrange to compile and run test-langinfo-c++.
8122         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
8123         gl_MODULE_INDICATOR.
8124
8125         Tests of module 'iconv-h' in C++ mode.
8126         * tests/test-iconv-h-c++.cc: New file.
8127         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
8128         (Depends-on): Add ansi-c++-opt.
8129         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
8130
8131         Tests of module 'glob' in C++ mode.
8132         * tests/test-glob-c++.cc: New file.
8133         * modules/glob-tests (Files): Add it.
8134         (Depends-on): Add ansi-c++-opt.
8135         (Makefile.am): Arrange to compile and run test-glob-c++.
8136
8137         Tests of module 'fcntl-h' in C++ mode.
8138         * tests/test-fcntl-h-c++.cc: New file.
8139         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
8140         (Depends-on): Add ansi-c++-opt.
8141         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
8142         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
8143         gl_MODULE_INDICATOR.
8144
8145         Tests of module 'dirent' in C++ mode.
8146         * tests/test-dirent-c++.cc: New file.
8147         * modules/dirent-tests (Files): Add it and tests/signature.h.
8148         (Depends-on): Add ansi-c++-opt.
8149         (Makefile.am): Arrange to compile and run test-dirent-c++.
8150         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
8151         gl_MODULE_INDICATOR.
8152
8153         New module 'ansi-c++-opt'.
8154         * modules/ansi-c++-opt: New file.
8155         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
8156
8157         Document C++ namespace mode.
8158         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
8159
8160         wctype: Avoid #define replacements in C++ mode.
8161         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
8162         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
8163         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
8164         In C++, define a namespaced alias symbol.
8165         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
8166         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
8167         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
8168         rule.
8169
8170         wchar: Avoid #define replacements in C++ mode.
8171         * lib/wchar.in.h: Include c++defs.h.
8172         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
8173         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
8174         symbol.
8175         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
8176         * modules/wchar (Depends-on): Add c++defs.
8177         (Makefile.am): Update wchar.h rule.
8178
8179         unistd: Avoid #define replacements in C++ mode.
8180         * lib/unistd.in.h: Include c++defs.h.
8181         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
8182         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
8183         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
8184         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
8185         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
8186         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
8187         symbol.
8188         (environ): Update.
8189         * modules/unistd (Depends-on): Add c++defs.
8190         (Makefile.am): Update unistd.h rule.
8191
8192         time: Avoid #define replacements in C++ mode.
8193         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
8194         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
8195         define a namespaced alias symbol.
8196         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
8197         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
8198         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
8199         * modules/time (Depends-on): Add c++defs, warn-on-use.
8200         (Makefile.am): Update time.h rule.
8201         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
8202         * modules/nanosleep (configure.ac): Likewise.
8203         * modules/strptime (configure.ac): Likewise.
8204         * modules/timegm (configure.ac): Likewise.
8205
8206         sys_time: Avoid #define replacements in C++ mode.
8207         * lib/sys_time.in.h: Include c++defs.h.
8208         (gettimeofday): In C++, define a namespaced alias symbol.
8209         * modules/sys_time (Depends-on): Add c++defs.
8210         (Makefile.am): Update sys/time.h rule.
8211
8212         sys_stat: Avoid #define replacements in C++ mode.
8213         * lib/sys_stat.in.h: Include c++defs.h.
8214         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
8215         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
8216         namespaced alias symbol.
8217         In C++, define a namespaced alias symbol.
8218         * modules/sys_stat (Depends-on): Add c++defs.
8219         (Makefile.am): Update sys/stat.h rule.
8220
8221         sys_socket: Avoid #define replacements in C++ mode.
8222         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
8223         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
8224         definitions also when the system has a <sys/socket.h>.
8225         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
8226         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
8227         In C++, define a namespaced alias symbol.
8228         * modules/sys_socket (Depends-on): Add c++defs.
8229         (Makefile.am): Update sys/socket.h rule.
8230
8231         sys_select: Avoid #define replacements in C++ mode.
8232         * lib/sys_select.in.h: Include c++defs.h. Enable the function
8233         definitions also when the system has a <sys/select.h>.
8234         (select): In C++, define a namespaced alias symbol.
8235         * modules/sys_select (Depends-on): Add c++defs.
8236         (Makefile.am): Update sys/select.h rule.
8237
8238         sys_ioctl: Avoid #define replacements in C++ mode.
8239         * lib/sys_ioctl.in.h: Include c++defs.h.
8240         (ioctl): In C++, define a namespaced alias symbol.
8241         * modules/sys_ioctl (Depends-on): Add c++defs.
8242         (Makefile.am): Update sys/ioctl.h rule.
8243
8244         string: Avoid #define replacements in C++ mode.
8245         * lib/string.in.h: Include c++defs.h.
8246         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
8247         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
8248         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
8249         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
8250         strsignal, strverscmp): In C++, define a namespaced alias symbol.
8251         * modules/string (Depends-on): Add c++defs.
8252         (Makefile.am): Update string.h rule.
8253
8254         stdlib: Avoid #define replacements in C++ mode.
8255         * lib/stdlib.in.h: Include c++defs.h.
8256         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
8257         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
8258         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
8259         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
8260         symbol.
8261         * modules/stdlib (Depends-on): Add c++defs.
8262         (Makefile.am): Update stdlib.h rule.
8263
8264         stdio: Avoid #define replacements in C++ mode.
8265         * lib/stdio.in.h: Include c++defs.h.
8266         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
8267         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
8268         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
8269         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
8270         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
8271         namespaced alias symbol.
8272         * modules/stdio (Depends-on): Add c++defs.
8273         (Makefile.am): Update stdio.h rule.
8274
8275         spawn: Avoid #define replacements in C++ mode.
8276         * lib/spawn.in.h: Include c++defs.h.
8277         (posix_spawn, posix_spawnp, posix_spawnattr_init,
8278         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
8279         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
8280         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
8281         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
8282         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
8283         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
8284         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
8285         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
8286         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
8287         In C++, define a namespaced alias symbol.
8288         * modules/spawn (Depends-on): Add c++defs.
8289         (Makefile.am): Update spawn.h rule.
8290
8291         signal: Avoid #define replacements in C++ mode.
8292         * lib/signal.in.h: Include c++defs.h.
8293         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
8294         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
8295         namespaced alias symbol.
8296         * modules/signal (Depends-on): Add c++defs.
8297         (Makefile.am): Update signal.h rule.
8298
8299         search: Avoid #define replacements in C++ mode.
8300         * lib/search.in.h: Include c++defs.h.
8301         (_gl_search_compar_fn, _gl_search_action_fn): New types.
8302         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
8303         symbol.
8304         * modules/search (Depends-on): Add c++defs.
8305         (Makefile.am): Update search.h rule.
8306
8307         math: Avoid #define replacements in C++ mode.
8308         * lib/math.in.h: Include c++defs.h.
8309         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
8310         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
8311         trunc, truncl): In C++, define a namespaced alias symbol.
8312         * modules/math (Depends-on): Add c++defs.
8313         (Makefile.am): Update math.h rule.
8314
8315         locale: Avoid #define replacements in C++ mode.
8316         * lib/locale.in.h: Include c++defs.h.
8317         (duplocale): In C++, define a namespaced alias symbol.
8318         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
8319         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
8320         * modules/locale (Depends-on): Add c++defs.
8321         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
8322
8323         langinfo: Avoid #define replacements in C++ mode.
8324         * lib/langinfo.in.h: Include c++defs.h.
8325         (nl_langinfo): In C++, define a namespaced alias symbol.
8326         * modules/langinfo (Depends-on): Add c++defs.
8327         (Makefile.am): Update langinfo.h rule.
8328
8329         iconv-h: Avoid #define replacements in C++ mode.
8330         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
8331         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
8332         symbol.
8333         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
8334         whenever iconv is present.
8335         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
8336         (Makefile.am): Update iconv.h rule.
8337
8338         glob: Avoid #define replacements in C++ mode.
8339         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
8340         (_gl_glob_errfunc_fn): New type.
8341         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
8342         symbol.
8343         * modules/glob (Depends-on): Add c++defs, warn-on-use.
8344         (Makefile.am): Update glob.h rule.
8345
8346         fcntl-h: Avoid #define replacements in C++ mode.
8347         * lib/fcntl.in.h: Include c++defs.h.
8348         (fcntl, open, openat): In C++, define a namespaced alias symbol.
8349         * modules/fcntl-h (Depends-on): Add c++defs.
8350         (Makefile.am): Update fcntl.h rule.
8351
8352         dirent: Avoid #define replacements in C++ mode.
8353         * lib/dirent.in.h: Include c++defs.h.
8354         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
8355         namespaced alias symbol.
8356         (dirfd): Update declaration.
8357         * modules/dirent (Depends-on): Add c++defs.
8358         (Makefile.am): Update dirent.h rule.
8359
8360         ctype: Make it usable in C++ code.
8361         * lib/ctype.in.h: Include c++defs.h.
8362         (isblank): Declare as extern "C".
8363         * modules/ctype (Depends-on): Add c++defs.
8364         (Makefile.am): Update ctype.h rule.
8365
8366         New module 'c++defs'.
8367         * modules/c++defs: New file.
8368         * build-aux/c++defs.h: New file.
8369         Reported by John W. Eaton <jwe@gnu.org>.
8370
8371 2010-03-07  Bruno Haible  <bruno@clisp.org>
8372
8373         logb: Provide missing declaration for Cygwin.
8374         * lib/math.in.h (logb): New declaration.
8375         * m4/logb.m4: New file.
8376         * modules/logb (Files): Add m4/logb.m4.
8377         (Depends-on): Add math.
8378         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
8379         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
8380         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
8381         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
8382         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
8383
8384 2010-03-07  Bruno Haible  <bruno@clisp.org>
8385
8386         Fix test-cond link error.
8387         * tests/test-cond.c: Include <stdio.h>.
8388
8389 2010-03-07  Bruno Haible  <bruno@clisp.org>
8390
8391         Fix test-dirent-safer link error.
8392         * modules/dirent-safer-tests (Makefile.am): Define
8393         test_dirent_safer_LDADD.
8394
8395 2010-03-07  Bruno Haible  <bruno@clisp.org>
8396
8397         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
8398         among default module list.
8399
8400 2010-03-07  Bruno Haible  <bruno@clisp.org>
8401
8402         Fix link error on platforms with GNU libiconv.
8403         * modules/unistr/u8-strcoll-tests (Makefile): Define
8404         test_u8_strcoll_LDADD.
8405         * modules/unistr/u16-strcoll-tests (Makefile): Define
8406         test_u16_strcoll_LDADD.
8407         * modules/unistr/u32-strcoll-tests (Makefile): Define
8408         test_u32_strcoll_LDADD.
8409
8410 2010-03-07  Bruno Haible  <bruno@clisp.org>
8411
8412         Use POSIX declarations for socket functions.
8413         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
8414         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
8415         rpl_sendto): Change declaration to match POSIX.
8416         * lib/connect.c (rpl_connect): Likewise.
8417         * lib/accept.c (rpl_accept): Likewise.
8418         * lib/bind.c (rpl_bind): Likewise.
8419         * lib/getpeername.c (rpl_getpeername): Likewise.
8420         * lib/getsockname.c (rpl_getsockname): Likewise.
8421         * lib/recv.c (rpl_recv): Likewise.
8422         * lib/send.c (rpl_send): Likewise.
8423         * lib/recvfrom.c (rpl_recvfrom): Likewise.
8424         * lib/sendto.c (rpl_sendto): Likewise.
8425
8426 2010-03-06  Bruno Haible  <bruno@clisp.org>
8427
8428         Clarify access, euidaccess, faccessat.
8429         * doc/posix-functions/faccessat.texi: Mention security problem under
8430         "Other problems", not "Portability problems".
8431         * doc/posix-functions/access.texi: Likewise. Mention a related security
8432         problem.
8433         * doc/glibc-functions/euidaccess.texi: Mention security problems.
8434         * lib/euidaccess.c: Add comments about platforms.
8435         * lib/unistd.in.h (access, euidaccess): Add warnings.
8436
8437 2010-03-07  Bruno Haible  <bruno@clisp.org>
8438
8439         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
8440         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
8441         (POSIX_SPAWN_SETSCHEDULER): Likewise.
8442         (POSIX_SPAWN_USEVFORK): Define in a way that works when
8443         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
8444         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
8445         declare when POSIX_SPAWN_SETSCHEDULER is zero.
8446         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
8447         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
8448         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
8449         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
8450         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
8451         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
8452         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
8453         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
8454         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
8455         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
8456         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
8457         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
8458         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
8459         Likewise.
8460         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
8461         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
8462         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
8463         Likewise.
8464         * tests/test-spawn.c (main): Make it work when
8465         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
8466
8467 2010-03-07  Bruno Haible  <bruno@clisp.org>
8468
8469         Fix incorrect Makefile.am generation in German locale.
8470         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
8471         Execute sed command with character range in C locale.
8472
8473 2010-03-06  Bruno Haible  <bruno@clisp.org>
8474
8475         Tests for module 'iconv-h'.
8476         * modules/iconv-h-tests: New file.
8477         * tests/test-iconv-h.c: New file.
8478
8479         New module 'iconv-h'.
8480         * modules/iconv-h: New file.
8481         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
8482         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
8483         (configure.ac): Remove gl_ICONV_H.
8484         (Makefile.am): Remove rule for iconv.h.
8485
8486 2010-03-06  Bruno Haible  <bruno@clisp.org>
8487
8488         More consistent naming of *.m4 files.
8489         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
8490         * modules/wctype (Files): Update.
8491
8492         More consistent naming of *.m4 files.
8493         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
8494         * modules/wchar (Files): Update.
8495
8496 2010-03-06  Jim Meyering  <meyering@redhat.com>
8497
8498         euidaccess: relax license to LGPLv2+
8499         * modules/euidaccess (License): Relax to LGPLv2+.
8500
8501 2010-03-06  Bruno Haible  <bruno@clisp.org>
8502
8503         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
8504         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
8505         (Makefile.am): Augment lib_SOURCES instead.
8506
8507 2010-03-04  Jim Meyering  <meyering@redhat.com>
8508
8509         utime: remove obsolete module
8510         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
8511         unnecessary for years, and has been marked as obsolete for 10 months.
8512         * modules/utime: Remove file.
8513         * lib/utime.c: Remove file.
8514         * m4/utime.m4: Remove file.
8515         * m4/utimes-null.m4: Remove file.
8516         * doc/posix-functions/utime.texi (utime): Remove reference to
8517         the module.  Move the sole "fixed by gnulib" item into the
8518         "problems not fixed by Gnulib" list.
8519         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
8520
8521 2010-03-05  Simon Josefsson  <simon@josefsson.org>
8522
8523         * modules/exit (License): Relax license to LGPLv2+.
8524         (Status): Mark as obsolete.
8525         * NEWS: Mention deprecated 'exit' module.
8526         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
8527         of now obsolete 'exit'.
8528
8529 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8530
8531         fts-lgpl: remove unused module
8532         * modules/fts-lgpl: Remove.
8533         * MODULES.html.sh (func_all_modules): Adjust.
8534         * check-module (find_included_lib_files): Adjust.
8535         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
8536
8537 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
8538
8539         copy-acl: enhance Solaris ACL error handling
8540         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
8541         * lib/set-mode-acl.c (qset_acl): Likewise.
8542
8543 2010-03-02  Bruno Haible  <bruno@clisp.org>
8544
8545         spawn: Don't override the system defined values on FreeBSD 8.
8546         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
8547         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
8548         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
8549         if HAVE_POSIX_SPAWN is 1.
8550         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
8551
8552 2010-03-01  Bruno Haible  <bruno@clisp.org>
8553
8554         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
8555         regarding Automake.
8556
8557 2010-02-25  Bruno Haible  <bruno@clisp.org>
8558
8559         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
8560         * gnulib-tool: Define 'echo' as a function only before the ksh alias
8561         setting, not afterwards.
8562         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
8563
8564 2010-02-24  Eric Blake  <eblake@redhat.com>
8565
8566         bootstrap, git-version-gen: use timestamp
8567         * build-aux/git-version-gen (scriptversion): Force UTC.
8568         * build-aux/bootstrap (scriptversion): New variable.
8569
8570         bootstrap: allow older git
8571         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
8572         older than 1.6.4.  Requested by the libvirt project.
8573
8574 2010-02-23  Eric Blake  <eblake@redhat.com>
8575
8576         warn-on-use: work with old autoconf
8577         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
8578         AS_VAR semantics of autoconf 2.60.
8579         Reported by Bruno Haible.
8580
8581         bootstrap: improve some comments
8582         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
8583         clarification comments.
8584
8585         gettimeofday: provide correct function
8586         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
8587         when replacement is declared, otherwise provide gettimeofday.
8588         Reported by Michael Goffioul.
8589
8590 2010-02-23  Jim Meyering  <meyering@redhat.com>
8591
8592         lib-ignore: relax license to "unlimited", not LGPLv2+
8593         * modules/lib-ignore (License): Relax to "unlimited".
8594
8595 2010-02-23  Jim Meyering  <meyering@redhat.com>
8596
8597         lib-ignore: relax license to LGPLv2+
8598         * modules/lib-ignore (License): Relax to LGPLv2+.
8599
8600 2010-02-22  Eric Blake  <eblake@redhat.com>
8601
8602         lseek: avoid bash 3.2 broken pipe bug
8603         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
8604         warning from bash 3.2.
8605         Reported by Ben Pfaff, with analysis from Bruno Haible.
8606
8607         bootstrap: support non-FSF copyright holder
8608         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
8609         bootstrap.conf override of COPYRIGHT_HOLDER.
8610         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
8611
8612         bootstrap: interoperate with gettext 0.14.1
8613         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
8614
8615         bootstrap: allow for alternate submodule location
8616         * build-aux/bootstrap (gnulib_path): New variable; use instead of
8617         hardcoding submodule location.
8618         (gnulib_mk): Allow direct use of Makefile.am.
8619
8620         bootstrap: use GNULIB_SRCDIR to reduce disk usage
8621         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
8622         rather than reconfiguring where the submodule points.
8623
8624         gettimeofday: restore support for platforms that lack function
8625         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
8626         replacement if function is missing.
8627         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
8628         * modules/sys_time (Makefile.am): Substitute it.
8629         * lib/sys_time.in.h (gettimeofday): Check it.
8630         Reported by Michael Goffioul.
8631
8632 2010-02-21  Bruno Haible  <bruno@clisp.org>
8633
8634         * lib/stdio.in.h (obstack_printf): Fix typo.
8635
8636 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
8637
8638         vc-list-files: use bzr ls's -R option
8639         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
8640         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
8641
8642 2010-02-21  Jim Meyering  <meyering@redhat.com>
8643
8644         init.sh: fix EXEEXT shims to work also for names like test-prog
8645         * tests/init.sh: Re-exec a better shell, when needed.
8646         If the current shell lacks support for posix $(...), an init.sh-using
8647         test will now try to find a shell that supports that.  If EXEEXT is
8648         nonempty, we also require support for hyphen-in-alias-name and shell
8649         substitutions like ${var#glob}.  Failure to find such a shell results
8650         in a skipped test.
8651
8652 2010-02-21  Bruno Haible  <bruno@clisp.org>
8653
8654         Really work around around "broken pipe" error message from bash 3.2.
8655         * gnulib-tool (func_reset_sigpipe): Remove function.
8656         (echo): In bash 3.2, define to a function that uses printf.
8657         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
8658
8659 2010-02-20  Bruno Haible  <bruno@clisp.org>
8660
8661         Restore support for automake 1.9.6 with autoconf 2.61.
8662         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
8663         Reported by James Youngman <jay@gnu.org>.
8664
8665 2010-02-20  Bruno Haible  <bruno@clisp.org>
8666
8667         Improve *printf warning condition.
8668         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
8669         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
8670         and the function is overridden due to SIGPIPE emulation.
8671
8672 2010-02-20  Bruno Haible  <bruno@clisp.org>
8673
8674         * lib/stdio.in.h: Tweak comments.
8675
8676 2010-02-19  Bruno Haible  <bruno@clisp.org>
8677
8678         Make it easier to find modules. New gnulib-tool option '--find'.
8679         * gnulib-tool: New option --find.
8680         (func_usage): Document it.
8681         (func_sanitize_modulelist): New function, extracted from
8682         func_all_modules.
8683         (func_all_modules): Invoke it.
8684         * doc/gnulib-tool.texi (Which modules?): New node.
8685
8686 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
8687
8688         * lib/sys_select.in.h: Provide select replacement even if
8689         sys/select.h exists on a system, for Interix.
8690
8691 2010-02-18  Jim Meyering  <meyering@redhat.com>
8692
8693         init.sh: don't use $(...) just yet
8694         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
8695         to accommodate e.g., Solaris' /bin/sh.
8696
8697 2010-02-17  Bruno Haible  <bruno@clisp.org>
8698
8699         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
8700         Reported by Ludovic Courtès <ludo@gnu.org>.
8701
8702 2010-02-16  Simon Josefsson  <simon@josefsson.org>
8703
8704         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
8705         linking with -lintl.
8706
8707 2010-02-17  Simon Josefsson  <simon@josefsson.org>
8708
8709         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
8710         if not provided by the system's netdb.h.  Reported by
8711         ludo@gnu.org (Ludovic Courtès).
8712
8713 2010-02-15  Jim Meyering  <meyering@redhat.com>
8714
8715         init.sh: improve portability and efficiency
8716         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
8717         "dummy" in a for loop.
8718         Use '!', not '^' to select the complement of a character set used
8719         in a "case" statement.
8720         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
8721         Suggestions from Eric Blake.
8722
8723         init.sh: automatically accommodate programs with the .exe suffix
8724         Automatically arrange for an invocation of "prog" to execute the
8725         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
8726         may use the simpler "prog", yet still work when built on a system
8727         that requires specifying the added suffix.
8728         Do this by constructing a function named "prog" that invokes
8729         "prog.exe" for each .exe file in selected directories.
8730         * tests/init.sh (find_exe_basenames_): New function.
8731         (create_exe_shim_functions_): New function.
8732         (path_prepend_): Use it.
8733
8734         maint.mk: mark syntax-check sc_*.m rules as .PHONY
8735         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
8736         "make -t syntax-check" doesn't create a ton of sc_*.m files.
8737
8738 2010-02-14  Jim Meyering  <meyering@redhat.com>
8739
8740         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
8741         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
8742         (sc_prohibit_hash_pjw_without_use): New rule.
8743
8744         maint.mk: allow the default upload destination dir to be overridden
8745         * top/maint.mk (upload_dest_dir_): Define with a default that
8746         preserves the status quo.
8747         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
8748         Reported by Peter Simons.
8749
8750         maint.mk: prohibit inclusion of "hash.h" without_use
8751         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
8752
8753 2010-02-10  Jim Meyering  <meyering@redhat.com>
8754
8755         maint.mk: prohibit inclusion of "ignore-value.h" without_use
8756         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
8757
8758 2010-02-09  Eric Blake  <ebb9@byu.net>
8759         and Bruno Haible  <bruno@clisp.org>
8760
8761         obstack-printf-posix: ensure declaration
8762         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
8763         extracted from gl_FUNC_OBSTACK_PRINTF.
8764         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
8765         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
8766         Likewise.
8767         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
8768         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
8769         0.
8770
8771 2010-02-08  Bruno Haible  <bruno@clisp.org>
8772
8773         gnulib-tool: Fix typo in 2010-02-07 commit.
8774         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
8775         Reported by Eric Blake.
8776
8777 2010-02-07  Bruno Haible  <bruno@clisp.org>
8778
8779         gnulib-tool: Fix up caching patches.
8780         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
8781         option --no-cache. Use associative arrays when supported by the shell.
8782         (sed_comments): New variable.
8783         (modcache): Renamed from do_cache.
8784         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
8785         abbreviate unnecessarily.
8786         (have_associative): New variable.
8787         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
8788         way also for ksh and zsh.
8789         (func_init_sed_convert_to_cache_statements): New function, extracted
8790         from func_cache_lookup_module. Add support for associative arrays.
8791         Don't set the c_MODULE_cached variable here. Ignore all lines before
8792         the first field header. Remove only the final newline, not all trailing
8793         newlines. Support empty fields correctly. Limit the use of 'eval' to
8794         assignments.
8795         (func_get_description, func_get_status, func_get_notice,
8796         func_get_applicability, func_get_filelist, func_get_dependencies,
8797         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
8798         func_get_automake_snippet, func_get_include_directive,
8799         func_get_link_directive, func_get_license, func_get_maintainer):
8800         Update documentation. List the unoptimized code first. Add support for
8801         associative arrays. Limit the use of 'eval' to assignments.
8802         (func_get_applicability): Undo stylistic pessimisations.
8803         (func_get_automake_snippet, func_get_include_directive): Reduce code
8804         duplication.
8805         (func_modules_transitive_closure, func_modules_add_dummy,
8806         func_modules_notice, func_modules_to_filelist, func_add_file,
8807         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
8808         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
8809         func_create_testdir, func_create_megatestdir): Update documentation.
8810
8811 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8812
8813         * gnulib-tool (func_cache_lookup_module): Store the module name
8814         belonging to the cache variable; error out if two different
8815         module names map to the same cache variable name.
8816
8817 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8818
8819         gnulib-tool: Make caching optional.
8820         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
8821         Update matching short versions of --no-changelog.
8822         (func_usage): Update.
8823         (sed_extract_cache_prog): Renamed from ...
8824         (sed_extract_prog): ... this; revert to old extraction script.
8825         (func_get_description, func_get_status)
8826         (func_get_notice, func_get_applicability, func_get_filelist)
8827         (func_get_dependencies, func_get_autoconf_early_snippet)
8828         (func_get_autoconf_snippet, func_get_automake_snippet)
8829         (func_get_include_directive, func_get_link_directive)
8830         (func_get_license, func_get_maintainer): If $do_cache is false,
8831         use old, non-caching extraction scripts.
8832         Suggestion by Bruno Haible.
8833
8834 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8835
8836         gnulib-tool: cache module metainformation.
8837         * gnulib-tool (sed_extract_prog): Match newline before each
8838         header, and rewrite header to a shell variable suffix.
8839         (func_cache_var, func_cache_lookup_module): New functions,
8840         to turn a module name into a cache variable prefix, and to
8841         look up and cache module metainformation.
8842         (func_get_description, func_get_status)
8843         (func_get_notice, func_get_applicability, func_get_filelist)
8844         (func_get_dependencies, func_get_autoconf_early_snippet)
8845         (func_get_autoconf_snippet, func_get_automake_snippet)
8846         (func_get_include_directive, func_get_link_directive)
8847         (func_get_license, func_get_maintainer): Use
8848         func_cache_lookup_module.
8849
8850 2010-02-07  Bruno Haible  <bruno@clisp.org>
8851
8852         fnctl: Fix missing dependency.
8853         * modules/fcntl (Depends-on): Add getdtablesize.
8854         Reported by John W. Eaton <jwe@gnu.org>.
8855
8856 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
8857
8858         Argp: fix recognition of short alias options.
8859
8860         * lib/argp-parse.c (convert_options): Fix improper use of
8861         `|' between character values.
8862         * tests/test-argp.c (group1_option): New alias option
8863         --read (-r).
8864         (group1_parser): Special handling for 'r'.
8865         (test15): New test case.
8866         (test_fun): Add test15.
8867         * tests/test-argp-2.sh: Update expected --help and --usage
8868         outputs.
8869
8870 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
8871
8872         * tests/test-argp.c: Fix indentation.
8873
8874 2010-02-04  Eric Blake  <ebb9@byu.net>
8875
8876         gettimeofday: expose type of second argument
8877         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
8878         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
8879         * tests/test-gettimeofday.c: Use it to silence warning.
8880         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
8881         the issue.
8882
8883 2010-02-03  Jim Meyering  <meyering@redhat.com>
8884
8885         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
8886         * lib/regcomp.c (TYPE_SIGNED): Define.
8887         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
8888
8889         regcomp.c: avoid a new -Wshadow warning
8890         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
8891
8892 2010-02-01  Jim Meyering  <meyering@redhat.com>
8893
8894         removing useless parentheses in cpp #define directives
8895         For motivation, see commit c0221df4, "define STREQ(a,b)
8896         consistently, removing useless parentheses"
8897         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
8898         * lib/mountlist.c (MNT_IGNORE): Likewise.
8899         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
8900
8901 2010-02-01  Eric Blake  <ebb9@byu.net>
8902
8903         sys_time: use link-warning
8904         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
8905         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
8906         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
8907         * modules/sys_time (Depends-on): Add warn-on-use.
8908         (Makefile.am): Always build replacement.
8909         (configure.ac): Update substitutions.
8910         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
8911         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
8912         bother with SYS_TIME_H.
8913         * modules/gettimeofday (configure.ac): Declare indicator.
8914         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
8915         in use.
8916
8917         closein-tests: silence compiler warning
8918         * tests/test-closein.c (main): Ignore fread result.
8919         * modules/closein-tests (Depends-on): Add ignore-value.
8920
8921         tests: silence warning about system return
8922         * tests/test-areadlink-with-size.c (main): Ignore system result.
8923         * tests/test-areadlink.c (main): Likewise.
8924         * tests/test-areadlinkat-with-size.c (main): Likewise.
8925         * tests/test-areadlinkat.c (main): Likewise.
8926         * tests/test-canonicalize-lgpl.c (main): Likewise.
8927         * tests/test-canonicalize.c (main): Likewise.
8928         * tests/test-chown.c (main): Likewise.
8929         * tests/test-fchownat.c (main): Likewise.
8930         * tests/test-fdutimensat.c (main): Likewise.
8931         * tests/test-fstatat.c (main): Likewise.
8932         * tests/test-futimens.c (main): Likewise.
8933         * tests/test-lchown.c (main): Likewise.
8934         * tests/test-link.c (main): Likewise.
8935         * tests/test-linkat.c (main): Likewise.
8936         * tests/test-lstat.c (main): Likewise.
8937         * tests/test-mkdir.c (main): Likewise.
8938         * tests/test-mkdirat.c (main): Likewise.
8939         * tests/test-mkfifo.c (main): Likewise.
8940         * tests/test-mkfifoat.c (main): Likewise.
8941         * tests/test-mknod.c (main): Likewise.
8942         * tests/test-readlink.c (main): Likewise.
8943         * tests/test-remove.c (main): Likewise.
8944         * tests/test-rename.c (main): Likewise.
8945         * tests/test-renameat.c (main): Likewise.
8946         * tests/test-rmdir.c (main): Likewise.
8947         * tests/test-symlink.c (main): Likewise.
8948         * tests/test-symlinkat.c (main): Likewise.
8949         * tests/test-unlink.c (main): Likewise.
8950         * tests/test-unlinkat.c (main): Likewise.
8951         * tests/test-utimens.c (main): Likewise.
8952         * tests/test-utimensat.c (main): Likewise.
8953         * modules/areadlink-tests (Depends-on): Add ignore-value.
8954         * modules/areadlink-with-size-tests (Depends-on): Likewise.
8955         * modules/areadlinkat-tests (Depends-on): Likewise.
8956         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
8957         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
8958         * modules/canonicalize-tests (Depends-on): Likewise.
8959         * modules/chown-tests (Depends-on): Likewise.
8960         * modules/fdutimensat-tests (Depends-on): Likewise.
8961         * modules/futimens-tests (Depends-on): Likewise.
8962         * modules/lchown-tests (Depends-on): Likewise.
8963         * modules/link-tests (Depends-on): Likewise.
8964         * modules/linkat-tests (Depends-on): Likewise.
8965         * modules/lstat-tests (Depends-on): Likewise.
8966         * modules/mkdir-tests (Depends-on): Likewise.
8967         * modules/mkfifo-tests (Depends-on): Likewise.
8968         * modules/mkfifoat-tests (Depends-on): Likewise.
8969         * modules/mknod-tests (Depends-on): Likewise.
8970         * modules/openat-tests (Depends-on): Likewise.
8971         * modules/readlink-tests (Depends-on): Likewise.
8972         * modules/remove-tests (Depends-on): Likewise.
8973         * modules/rename-tests (Depends-on): Likewise.
8974         * modules/renameat-tests (Depends-on): Likewise.
8975         * modules/rmdir-tests (Depends-on): Likewise.
8976         * modules/symlink-tests (Depends-on): Likewise.
8977         * modules/symlinkat-tests (Depends-on): Likewise.
8978         * modules/unlink-tests (Depends-on): Likewise.
8979         * modules/utimens-tests (Depends-on): Likewise.
8980         * modules/utimensat-tests (Depends-on): Likewise.
8981
8982 2010-01-31  Bruno Haible  <bruno@clisp.org>
8983
8984         Perform the same test for many <math.h> functions.
8985         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
8986         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
8987         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
8988         of gl_MATHFUNC.
8989         * modules/acos (configure.ac): Likewise.
8990         * modules/asin (configure.ac): Likewise.
8991         * modules/atan (configure.ac): Likewise.
8992         * modules/atan2 (configure.ac): Likewise.
8993         * modules/cbrt (configure.ac): Likewise.
8994         * modules/copysign (configure.ac): Likewise.
8995         * modules/cos (configure.ac): Likewise.
8996         * modules/cosh (configure.ac): Likewise.
8997         * modules/erf (configure.ac): Likewise.
8998         * modules/erfc (configure.ac): Likewise.
8999         * modules/exp (configure.ac): Likewise.
9000         * modules/fmod (configure.ac): Likewise.
9001         * modules/hypot (configure.ac): Likewise.
9002         * modules/j0 (configure.ac): Likewise.
9003         * modules/j1 (configure.ac): Likewise.
9004         * modules/jn (configure.ac): Likewise.
9005         * modules/lgamma (configure.ac): Likewise.
9006         * modules/log (configure.ac): Likewise.
9007         * modules/log10 (configure.ac): Likewise.
9008         * modules/log1p (configure.ac): Likewise.
9009         * modules/pow (configure.ac): Likewise.
9010         * modules/remainder (configure.ac): Likewise.
9011         * modules/sin (configure.ac): Likewise.
9012         * modules/sinh (configure.ac): Likewise.
9013         * modules/tan (configure.ac): Likewise.
9014         * modules/tanh (configure.ac): Likewise.
9015         * modules/y0 (configure.ac): Likewise.
9016         * modules/y1 (configure.ac): Likewise.
9017         * modules/yn (configure.ac): Likewise.
9018         Suggested by Paolo Bonzini.
9019
9020 2010-01-31  Bruno Haible  <bruno@clisp.org>
9021
9022         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
9023
9024 2010-01-31  Bruno Haible  <bruno@clisp.org>
9025
9026         Work around getdelim() bug on FreeBSD 8.0.
9027         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
9028         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
9029         not work.
9030         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
9031         is 1.
9032         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
9033         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
9034         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
9035         a non-zero size.
9036         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
9037
9038 2010-01-31  Bruno Haible  <bruno@clisp.org>
9039
9040         Work around getline() bug on FreeBSD 8.0.
9041         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
9042         and a non-zero size.
9043         * tests/test-getline.c (main): Likewise.
9044         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
9045         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
9046
9047 2010-01-28  Eric Blake  <ebb9@byu.net>
9048
9049         regex: fix build failure
9050         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
9051         platforms.
9052
9053 2010-01-28  Jim Meyering  <meyering@redhat.com>
9054
9055         regex: do not ignore memory allocation failure
9056         * lib/regex_internal.c (create_cd_newstate): Detect
9057         re_node_set_init_copy failure.   Extracted from glibc commit
9058         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
9059
9060         regex: sync more white-space changes from libc
9061         * lib/regex_internal.c: White-space only changes.
9062         * lib/regexec.c: Likewise.
9063
9064         regex: add many uses of __attribute_warn_unused_result__
9065         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
9066         * lib/regexec.c: Likewise.
9067         Extracted from a messy glibc commit.
9068
9069         regcomp.c: spelling and merge-artifact from glibc
9070         * lib/regcomp.c: Merge remainder of glibc's
9071         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
9072
9073         regcomp.c: sync white-space changes from glibc
9074         * lib/regcomp.c: Merge to accommodate white space
9075         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
9076
9077         regcomp.c: do not ignore internal return values
9078         * lib/regcomp.c: Do not ignore internal return values.
9079         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
9080         but without its white-space changes and spelling fixes.
9081
9082         regex_internal.h: define __attribute_warn_unused_result__
9083         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
9084
9085         maint: add a syntax-check rule to check for vulnerable Makefile.in
9086         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
9087
9088 2010-01-27  Jim Meyering  <meyering@redhat.com>
9089
9090         ncftpput-ftp: clean up spaces
9091         * build-aux/ncftpput-ftp: Make Copyright line consistent.
9092         Remove trailing blanks.
9093
9094 2010-01-27  Simon Josefsson  <simon@josefsson.org>
9095
9096         * build-aux/git-version-gen: Fix copyright statement.
9097         * build-aux/gnupload: Likewise.
9098         * tests/test-arcfour.c: Likewise.
9099         * tests/test-arctwo.c: Likewise.
9100         * tests/test-count-one-bits.c: Likewise.
9101         * tests/test-crc.c: Likewise.
9102         * tests/test-des.c: Likewise.
9103         * tests/test-gc-arcfour.c: Likewise.
9104         * tests/test-gc-arctwo.c: Likewise.
9105         * tests/test-gc-des.c: Likewise.
9106         * tests/test-gc-hmac-md5.c: Likewise.
9107         * tests/test-gc-hmac-sha1.c: Likewise.
9108         * tests/test-gc-md2.c: Likewise.
9109         * tests/test-gc-md4.c: Likewise.
9110         * tests/test-gc-md5.c: Likewise.
9111         * tests/test-gc-pbkdf2-sha1.c: Likewise.
9112         * tests/test-gc-rijndael.c: Likewise.
9113         * tests/test-gc-sha1.c: Likewise.
9114         * tests/test-gc.c: Likewise.
9115         * tests/test-gethostname.c: Likewise.
9116         * tests/test-gettimeofday.c: Likewise.
9117         * tests/test-hash.c: Likewise.
9118         * tests/test-hmac-md5.c: Likewise.
9119         * tests/test-hmac-sha1.c: Likewise.
9120         * tests/test-md2.c: Likewise.
9121         * tests/test-md4.c: Likewise.
9122         * tests/test-md5.c: Likewise.
9123         * tests/test-memchr.c: Likewise.
9124         * tests/test-memchr2.c: Likewise.
9125         * tests/test-memcmp.c: Likewise.
9126         * tests/test-memmem.c: Likewise.
9127         * tests/test-memrchr.c: Likewise.
9128         * tests/test-rawmemchr.c: Likewise.
9129         * tests/test-read-file.c: Likewise.
9130         * tests/test-rijndael.c: Likewise.
9131         * tests/test-sockets.c: Likewise.
9132         * tests/test-strchrnul.c: Likewise.
9133         * tests/test-strstr.c: Likewise.
9134         * tests/test-strtod.c: Likewise.
9135         * build-aux/ncftpput-ftp: Likewise.
9136
9137 2010-01-26  Eric Blake  <ebb9@byu.net>
9138
9139         ignore-value: update recommended header name
9140         * modules/ignore-value (Include): Only use <> for headers that
9141         exist in glibc.
9142
9143 2010-01-26  Jim Meyering  <meyering@redhat.com>
9144
9145         test-userspec.c: avoid compiler warnings
9146         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
9147         and "initialization discards qualifiers..." warnings.
9148         Put the first "uid" in its own scope, and make char* members "const".
9149
9150 2010-01-25  Bruno Haible  <bruno@clisp.org>
9151
9152         gnulib-tool: Make warning diagnostics consistent.
9153         * gnulib-tool (func_warning): New function.
9154         Use it everywhere where gnulib-tool produces output to stderr and it is
9155         not a fatal error.
9156
9157 2010-01-25  Bruno Haible  <bruno@clisp.org>
9158
9159         Fix test dependencies.
9160         * modules/xstrtol-tests (Depends-on): Add inttypes.
9161         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
9162
9163 2010-01-25 Pádraig Brady <P@draigBrady.com>
9164
9165         syntax-check: detect incorrect boolean macro values in config.h
9166         * modules/maintainer-makefile (configure.ac): Parameterize the location
9167         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
9168         The logic is from Eric Blake and the location indicated by Jim Meyering.
9169         Note the more natural CONFIG_HEADER name is prohibited by automake
9170         for backwards compatibility reasons.
9171         * top/maint.mk (sc_Wundef_boolean): New rule.
9172
9173 2010-01-25  Jim Meyering  <meyering@redhat.com>
9174
9175         bootstrap: detect MacOS 10.6's shasum, too
9176         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
9177         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
9178
9179 2010-01-23  Jim Meyering  <meyering@redhat.com>
9180
9181         xstrtoll: new module
9182         * modules/xstrtoll: New file.
9183         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
9184         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
9185         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
9186         ./configure fails if you use this module and lack "long long".
9187         * modules/xstrtoll-tests: New module.
9188         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
9189         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
9190         new init.sh-based test framework.
9191
9192 2010-01-24  Bruno Haible  <bruno@clisp.org>
9193
9194         Tests for module 'yn'.
9195         * modules/yn-tests: New file.
9196         * tests/test-yn.c: New file.
9197
9198         Tests for module 'y1'.
9199         * modules/y1-tests: New file.
9200         * tests/test-y1.c: New file.
9201
9202         Tests for module 'y0'.
9203         * modules/y0-tests: New file.
9204         * tests/test-y0.c: New file.
9205
9206         Tests for module 'tanh'.
9207         * modules/tanh-tests: New file.
9208         * tests/test-tanh.c: New file.
9209
9210         Tests for module 'tan'.
9211         * modules/tan-tests: New file.
9212         * tests/test-tan.c: New file.
9213
9214         Tests for module 'sqrt'.
9215         * modules/sqrt-tests: New file.
9216         * tests/test-sqrt.c: New file.
9217
9218         Tests for module 'sinh'.
9219         * modules/sinh-tests: New file.
9220         * tests/test-sinh.c: New file.
9221
9222         Tests for module 'sin'.
9223         * modules/sin-tests: New file.
9224         * tests/test-sin.c: New file.
9225
9226         Tests for module 'rint'.
9227         * modules/rint-tests: New file.
9228         * tests/test-rint.c: New file.
9229
9230         Tests for module 'remainder'.
9231         * modules/remainder-tests: New file.
9232         * tests/test-remainder.c: New file.
9233
9234         Tests for module 'pow'.
9235         * modules/pow-tests: New file.
9236         * tests/test-pow.c: New file.
9237
9238         Tests for module 'nextafter'.
9239         * modules/nextafter-tests: New file.
9240         * tests/test-nextafter.c: New file.
9241
9242         Tests for module 'modf'.
9243         * modules/modf-tests: New file.
9244         * tests/test-modf.c: New file.
9245
9246         Tests for module 'logb'.
9247         * modules/logb-tests: New file.
9248         * tests/test-logb.c: New file.
9249
9250         Tests for module 'log1p'.
9251         * modules/log1p-tests: New file.
9252         * tests/test-log1p.c: New file.
9253
9254         Tests for module 'log10'.
9255         * modules/log10-tests: New file.
9256         * tests/test-log10.c: New file.
9257
9258         Tests for module 'log'.
9259         * modules/log-tests: New file.
9260         * tests/test-log.c: New file.
9261
9262         Tests for module 'lgamma'.
9263         * modules/lgamma-tests: New file.
9264         * tests/test-lgamma.c: New file.
9265
9266         Tests for module 'ldexp'.
9267         * modules/ldexp-tests: New file.
9268         * tests/test-ldexp.c: New file.
9269
9270         Tests for module 'jn'.
9271         * modules/jn-tests: New file.
9272         * tests/test-jn.c: New file.
9273
9274         Tests for module 'j1'.
9275         * modules/j1-tests: New file.
9276         * tests/test-j1.c: New file.
9277
9278         Tests for module 'j0'.
9279         * modules/j0-tests: New file.
9280         * tests/test-j0.c: New file.
9281
9282         Tests for module 'hypot'.
9283         * modules/hypot-tests: New file.
9284         * tests/test-hypot.c: New file.
9285
9286         Tests for module 'fmod'.
9287         * modules/fmod-tests: New file.
9288         * tests/test-fmod.c: New file.
9289
9290         Tests for module 'fabs'.
9291         * modules/fabs-tests: New file.
9292         * tests/test-fabs.c: New file.
9293
9294         Tests for module 'exp'.
9295         * modules/exp-tests: New file.
9296         * tests/test-exp.c: New file.
9297
9298         Tests for module 'erfc'.
9299         * modules/erfc-tests: New file.
9300         * tests/test-erfc.c: New file.
9301
9302         Tests for module 'erf'.
9303         * modules/erf-tests: New file.
9304         * tests/test-erf.c: New file.
9305
9306         Tests for module 'cosh'.
9307         * modules/cosh-tests: New file.
9308         * tests/test-cosh.c: New file.
9309
9310         Tests for module 'cos'.
9311         * modules/cos-tests: New file.
9312         * tests/test-cos.c: New file.
9313
9314         Tests for module 'copysign'.
9315         * modules/copysign-tests: New file.
9316         * tests/test-copysign.c: New file.
9317
9318         Tests for module 'cbrt'.
9319         * modules/cbrt-tests: New file.
9320         * tests/test-cbrt.c: New file.
9321
9322         Tests for module 'atan2'.
9323         * modules/atan2-tests: New file.
9324         * tests/test-atan2.c: New file.
9325
9326         Tests for module 'atan'.
9327         * modules/atan-tests: New file.
9328         * tests/test-atan.c: New file.
9329
9330         Tests for module 'asin'.
9331         * modules/asin-tests: New file.
9332         * tests/test-asin.c: New file.
9333
9334         Tests for module 'acos'.
9335         * modules/acos-tests: New file.
9336         * tests/test-acos.c: New file.
9337
9338 2010-01-24  Bruno Haible  <bruno@clisp.org>
9339
9340         Fix tests for common <math.h> functions.
9341         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
9342         code snippet that references the function pointer, rather than merely
9343         calling the function. Substitute the FUNC_LIBM variable.
9344         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
9345         * modules/acos (configure.ac): Likewise.
9346         * modules/asin (configure.ac): Likewise.
9347         * modules/atan (configure.ac): Likewise.
9348         * modules/atan2 (configure.ac): Likewise.
9349         * modules/cbrt (configure.ac): Likewise.
9350         * modules/copysign (configure.ac): Likewise.
9351         * modules/cos (configure.ac): Likewise.
9352         * modules/cosh (configure.ac): Likewise.
9353         * modules/erf (configure.ac): Likewise.
9354         * modules/erfc (configure.ac): Likewise.
9355         * modules/exp (configure.ac): Likewise.
9356         * modules/fabs (configure.ac): Likewise.
9357         * modules/fmod (configure.ac): Likewise.
9358         * modules/hypot (configure.ac): Likewise.
9359         * modules/j0 (configure.ac): Likewise.
9360         * modules/j1 (configure.ac): Likewise.
9361         * modules/jn (configure.ac): Likewise.
9362         * modules/ldexp (configure.ac): Likewise.
9363         * modules/lgamma (configure.ac): Likewise.
9364         * modules/log (configure.ac): Likewise.
9365         * modules/log10 (configure.ac): Likewise.
9366         * modules/log1p (configure.ac): Likewise.
9367         * modules/logb (configure.ac): Likewise.
9368         * modules/modf (configure.ac): Likewise.
9369         * modules/nextafter (configure.ac): Likewise.
9370         * modules/pow (configure.ac): Likewise.
9371         * modules/remainder (configure.ac): Likewise.
9372         * modules/rint (configure.ac): Likewise.
9373         * modules/sin (configure.ac): Likewise.
9374         * modules/sinh (configure.ac): Likewise.
9375         * modules/tan (configure.ac): Likewise.
9376         * modules/tanh (configure.ac): Likewise.
9377         * modules/y0 (configure.ac): Likewise.
9378         * modules/y1 (configure.ac): Likewise.
9379         * modules/yn (configure.ac): Likewise.
9380
9381 2010-01-24  Bruno Haible  <bruno@clisp.org>
9382
9383         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
9384         * tests/test-acosl.c (x): New variable.
9385         (main): Store argument in x and fetch it from x.
9386         * tests/test-asinl.c (x): New variable.
9387         (main): Store argument in x and fetch it from x.
9388         * tests/test-atanl.c (x): New variable.
9389         (main): Store argument in x and fetch it from x.
9390         * tests/test-cosl.c (x): New variable.
9391         (main): Store argument in x and fetch it from x.
9392         * tests/test-expl.c (x): New variable.
9393         (main): Store argument in x and fetch it from x.
9394         * tests/test-logl.c (x): New variable.
9395         (main): Store argument in x and fetch it from x.
9396         * tests/test-sinl.c (x): New variable.
9397         (main): Store argument in x and fetch it from x.
9398         * tests/test-sqrtl.c (x): New variable.
9399         (main): Store argument in x and fetch it from x.
9400         * tests/test-tanl.c (x): New variable.
9401         (main): Store argument in x and fetch it from x.
9402
9403 2010-01-24  Bruno Haible  <bruno@clisp.org>
9404
9405         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
9406         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
9407         assignments to the initial TESTS_ENVIRONMENT.
9408         * doc/gnulib.texi (Unit test modules): Document it.
9409         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
9410         TESTS_ENVIRONMENT.
9411         * modules/btowc-tests (Makefile.am): Likewise.
9412         * modules/c-stack-tests (Makefile.am): Likewise.
9413         * modules/c-strcase-tests (Makefile.am): Likewise.
9414         * modules/copy-file-tests (Makefile.am): Likewise.
9415         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
9416         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
9417         * modules/mbrtowc-tests (Makefile.am): Likewise.
9418         * modules/mbscasecmp-tests (Makefile.am): Likewise.
9419         * modules/mbscasestr-tests (Makefile.am): Likewise.
9420         * modules/mbschr-tests (Makefile.am): Likewise.
9421         * modules/mbscspn-tests (Makefile.am): Likewise.
9422         * modules/mbsinit-tests (Makefile.am): Likewise.
9423         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
9424         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
9425         * modules/mbspbrk-tests (Makefile.am): Likewise.
9426         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
9427         * modules/mbsrchr-tests (Makefile.am): Likewise.
9428         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
9429         * modules/mbsspn-tests (Makefile.am): Likewise.
9430         * modules/mbsstr-tests (Makefile.am): Likewise.
9431         * modules/nl_langinfo-tests (Makefile.am): Likewise.
9432         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
9433         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
9434         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
9435         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
9436         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
9437         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
9438         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
9439         * modules/wcrtomb-tests (Makefile.am): Likewise.
9440         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
9441         * modules/wcsrtombs-tests (Makefile.am): Likewise.
9442         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
9443         assignments from TESTS_ENVIRONMENT.
9444         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
9445         augmentation.
9446         * modules/argp-version-etc-tests (Makefile.am): Likewise.
9447         * modules/atexit-tests (Makefile.am): Likewise.
9448         * modules/binary-io-tests (Makefile.am): Likewise.
9449         * modules/closein-tests (Makefile.am): Likewise.
9450         * modules/dprintf-posix-tests (Makefile.am): Likewise.
9451         * modules/exclude-tests (Makefile.am): Likewise.
9452         * modules/fflush-tests (Makefile.am): Likewise.
9453         * modules/fpending-tests (Makefile.am): Likewise.
9454         * modules/fprintf-posix-tests (Makefile.am): Likewise.
9455         * modules/freadahead-tests (Makefile.am): Likewise.
9456         * modules/freadptr-tests (Makefile.am): Likewise.
9457         * modules/freadseek-tests (Makefile.am): Likewise.
9458         * modules/fseek-tests (Makefile.am): Likewise.
9459         * modules/fseeko-tests (Makefile.am): Likewise.
9460         * modules/ftell-tests (Makefile.am): Likewise.
9461         * modules/ftello-tests (Makefile.am): Likewise.
9462         * modules/idpriv-drop-tests (Makefile.am): Likewise.
9463         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
9464         * modules/lseek-tests (Makefile.am): Likewise.
9465         * modules/parse-duration-tests (Makefile.am): Likewise.
9466         * modules/perror-tests (Makefile.am): Likewise.
9467         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
9468         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
9469         * modules/pipe-tests (Makefile.am): Likewise.
9470         * modules/pread-tests (Makefile.am): Likewise.
9471         * modules/printf-posix-tests (Makefile.am): Likewise.
9472         * modules/select-tests (Makefile.am): Likewise.
9473         * modules/sigpipe-tests (Makefile.am): Likewise.
9474         * modules/tsearch-tests (Makefile.am): Likewise.
9475         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
9476         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
9477         * modules/uniname/uniname-tests (Makefile.am): Likewise.
9478         * modules/uniwidth/width-tests (Makefile.am): Likewise.
9479         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
9480         * modules/version-etc-tests (Makefile.am): Likewise.
9481         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
9482         * modules/vprintf-posix-tests (Makefile.am): Likewise.
9483         * modules/xalloc-die-tests (Makefile.am): Likewise.
9484         * modules/xprintf-posix-tests (Makefile.am): Likewise.
9485         * modules/xstrtoimax-tests (Makefile.am): Likewise.
9486         * modules/xstrtol-tests (Makefile.am): Likewise.
9487         * modules/xstrtoumax-tests (Makefile.am): Likewise.
9488         * modules/yesno-tests (Makefile.am): Likewise.
9489         Suggested by Jim Meyering.
9490
9491 2010-01-24  Bruno Haible  <bruno@clisp.org>
9492
9493         More documentation.
9494         * doc/gnulib.texi (Writing modules): New chapter.
9495         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
9496         the new chapter.
9497
9498 2010-01-24  Jim Meyering  <meyering@redhat.com>
9499
9500         maint.mk: do not prepend "./" after filtering
9501         * top/maint.mk (_prepend_srcdir_prefix): New variable
9502         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
9503         "./" when $(srcdir) is ".".
9504
9505         define STREQ(a,b) consistently, removing useless parentheses
9506         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
9507         since the only risk is that "a" or "b" contains an unparenthesized
9508         comma, but if either did that, STREQ would have 3 or more arguments.
9509         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
9510         * lib/fts.c (STREQ): Remove unnecessary parentheses.
9511         * lib/hash-triple.c (STREQ): Likewise.
9512         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
9513         * lib/getugroups.c (STREQ): Likewise.
9514
9515 2010-01-23  Jim Meyering  <meyering@redhat.com>
9516
9517         maint.mk: fix syntax-check in a non-srcdir build directory
9518         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
9519         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
9520
9521 2010-01-22  Jim Meyering  <meyering@redhat.com>
9522
9523         userspec: add unit tests
9524         * tests/test-userspec.c: New file.
9525         * modules/userspec-tests: Likewise.
9526
9527 2010-01-21  Jim Meyering  <meyering@redhat.com>
9528
9529         maint.mk: handle source file names containing "." robustly
9530         * top/maint.mk (_dot_escaped_srcdir): Define.
9531         (VC_LIST): Use it in LHS of sed substitution.
9532
9533 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
9534
9535         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
9536         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
9537         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
9538         from a non-srcdir build.
9539
9540 2010-01-20  Eric Blake  <ebb9@byu.net>
9541
9542         warn-on-use: use instead of link-warning
9543         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
9544         * modules/unistd (Depends-on, Makefile.am): Likewise.
9545         * modules/arpa_inet (Depends-on): Replace link-warning with
9546         warn-on-use.
9547         (Makefile.am): Update rules accordingly.
9548         * modules/ctype (Depends-on, Makefile.am): Likewise.
9549         * modules/dirent (Depends-on, Makefile.am): Likewise.
9550         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
9551         * modules/inttypes (Depends-on, Makefile.am): Likewise.
9552         * modules/langinfo (Depends-on, Makefile.am): Likewise.
9553         * modules/locale (Depends-on, Makefile.am): Likewise.
9554         * modules/math (Depends-on, Makefile.am): Likewise.
9555         * modules/search (Depends-on, Makefile.am): Likewise.
9556         * modules/signal (Depends-on, Makefile.am): Likewise.
9557         * modules/spawn (Depends-on, Makefile.am): Likewise.
9558         * modules/stdlib (Depends-on, Makefile.am): Likewise.
9559         * modules/string (Depends-on, Makefile.am): Likewise.
9560         * modules/strings (Depends-on, Makefile.am): Likewise.
9561         * modules/sys_file (Depends-on, Makefile.am): Likewise.
9562         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
9563         * modules/sys_select (Depends-on, Makefile.am): Likewise.
9564         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
9565         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
9566         * modules/sys_times (Depends-on, Makefile.am): Likewise.
9567         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
9568         * modules/wchar (Depends-on, Makefile.am): Likewise.
9569         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
9570         should be poisoned.
9571         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
9572         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
9573         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
9574         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
9575         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
9576         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
9577         * m4/math_h.m4 (gl_MATH_H): Likewise.
9578         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
9579         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
9580         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
9581         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
9582         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
9583         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
9584         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
9585         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
9586         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
9587         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
9588         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
9589         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
9590         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
9591         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
9592         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
9593         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
9594         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
9595         GL_LINK_WARNING.
9596         * lib/ctype.in.h: Likewise.
9597         * lib/dirent.in.h: Likewise.
9598         * lib/fcntl.in.h: Likewise.
9599         * lib/inttypes.in.h: Likewise.
9600         * lib/langinfo.in.h: Likewise.
9601         * lib/locale.in.h: Likewise.
9602         * lib/math.in.h: Likewise.
9603         * lib/search.in.h: Likewise.
9604         * lib/signal.in.h: Likewise.
9605         * lib/spawn.in.h: Likewise.
9606         * lib/stdio.in.h: Likewise.
9607         * lib/stdlib.in.h: Likewise.
9608         * lib/string.in.h: Likewise.
9609         * lib/strings.in.h: Likewise.
9610         * lib/sys_file.in.h: Likewise.
9611         * lib/sys_ioctl.in.h: Likewise.
9612         * lib/sys_select.in.h: Likewise.
9613         * lib/sys_socket.in.h: Likewise.
9614         * lib/sys_stat.in.h: Likewise.
9615         * lib/sys_times.in.h: Likewise.
9616         * lib/sys_utsname.in.h: Likewise.
9617         * lib/unistd.in.h: Likewise.
9618         * lib/wchar.in.h: Likewise.
9619
9620 2010-01-20  Bruno Haible  <bruno@clisp.org>
9621
9622         Avoid duplicate -lm.
9623         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
9624         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
9625         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
9626         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
9627         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
9628         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
9629         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
9630         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
9631         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
9632         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
9633         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
9634         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
9635         Reported by Paolo Bonzini.
9636
9637 2010-01-19  Bruno Haible  <bruno@clisp.org>
9638
9639         langinfo, nl_langinfo: Relicense under LGPLv2+.
9640         * modules/langinfo (License): Change to LGPLv2+.
9641         * modules/nl_langinfo (License): Likewise.
9642         Patch by David Lutterkort <lutter@redhat.com>.
9643
9644 2010-01-19  Bruno Haible  <bruno@clisp.org>
9645
9646         Avoid compilation error with cc on OSF/1 5.1.
9647         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
9648         statement, not before.
9649         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
9650
9651 2010-01-18  Bruno Haible  <bruno@clisp.org>
9652
9653         Avoid a link error due to the __printf__ symbol.
9654         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
9655         and 2.6.x.
9656         (__format__, __printf__): Remove definitions.
9657         * lib/argp-fmtstream.h: Likewise.
9658         * lib/argp.h: Likewise.
9659         * lib/error.h: Likewise.
9660         * lib/vasnprintf.h: Likewise.
9661         * lib/xprintf.h: Likewise.
9662         * lib/xvasprintf.h: Likewise.
9663         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
9664
9665 2010-01-18  Bruno Haible  <bruno@clisp.org>
9666
9667         Tests for module 'tanl'.
9668         * modules/tanl-tests: New file.
9669         * tests/test-tanl.c: New file.
9670
9671         Tests for module 'sqrtl'.
9672         * modules/sqrtl-tests: New file.
9673         * tests/test-sqrtl.c: New file.
9674
9675         Tests for module 'sinl'.
9676         * modules/sinl-tests: New file.
9677         * tests/test-sinl.c: New file.
9678
9679         Tests for module 'logl'.
9680         * modules/logl-tests: New file.
9681         * tests/test-logl.c: New file.
9682
9683         Tests for module 'expl'.
9684         * modules/expl-tests: New file.
9685         * tests/test-expl.c: New file.
9686
9687         Tests for module 'cosl'.
9688         * modules/cosl-tests: New file.
9689         * tests/test-cosl.c: New file.
9690
9691         Tests for module 'atanl'.
9692         * modules/atanl-tests: New file.
9693         * tests/test-atanl.c: New file.
9694
9695         Tests for module 'asinl'.
9696         * modules/asinl-tests: New file.
9697         * tests/test-asinl.c: New file.
9698
9699         Tests for module 'acosl'.
9700         * modules/acosl-tests: New file.
9701         * tests/test-acosl.c: New file.
9702
9703         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
9704         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
9705         tanl): Use the standard gnulib idiom.
9706         * lib/cosl.c: Don't include trigl.c and sincosl.c.
9707         * lib/sinl.c: Likewise.
9708         * lib/tanl.c: Don't include trigl.c.
9709         (kernel_tanl): Make static.
9710         * lib/sincosl.c: Include trigl.h first.
9711         * lib/trigl.c: Likewise.
9712         * m4/acosl.m4: New file.
9713         * m4/asinl.m4: New file.
9714         * m4/atanl.m4: New file.
9715         * m4/cosl.m4: New file.
9716         * m4/expl.m4: New file.
9717         * m4/logl.m4: New file.
9718         * m4/sinl.m4: New file.
9719         * m4/sqrtl.m4: New file.
9720         * m4/tanl.m4: New file.
9721         * m4/mathl.m4: Remove file.
9722         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
9723         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
9724         Don't initialize GNULIB_MATHL.
9725         * modules/acosl: New file.
9726         * modules/asinl: New file.
9727         * modules/atanl: New file.
9728         * modules/cosl: New file.
9729         * modules/expl: New file.
9730         * modules/logl: New file.
9731         * modules/sinl: New file.
9732         * modules/sqrtl: New file.
9733         * modules/tanl: New file.
9734         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
9735         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
9736         substitute GNULIB_MATHL.
9737         * modules/mathl: Rewritten.
9738         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
9739         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
9740         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
9741         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
9742         * doc/posix-functions/expl.texi: Mention the 'expl' module.
9743         * doc/posix-functions/logl.texi: Mention the 'logl' module.
9744         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
9745         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
9746         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
9747
9748 2010-01-18  Bruno Haible  <bruno@clisp.org>
9749
9750         sqrt: Make gl_FUNC_SQRT requirable.
9751         * m4/sqrt.m4: New file.
9752         * modules/sqrt (Files): Add it.
9753         (configure.ac): Invoke gl_FUNC_SQRT.
9754
9755 2010-01-18  Bruno Haible  <bruno@clisp.org>
9756
9757         New modules for common <math.h> functions.
9758         * m4/mathfunc.m4: New file.
9759         * modules/acos: New file.
9760         * modules/asin: New file.
9761         * modules/atan: New file.
9762         * modules/atan2: New file.
9763         * modules/cbrt: New file.
9764         * modules/copysign: New file.
9765         * modules/cos: New file.
9766         * modules/cosh: New file.
9767         * modules/erf: New file.
9768         * modules/erfc: New file.
9769         * modules/exp: New file.
9770         * modules/fabs: New file.
9771         * modules/fmod: New file.
9772         * modules/hypot: New file.
9773         * modules/j0: New file.
9774         * modules/j1: New file.
9775         * modules/jn: New file.
9776         * modules/ldexp: New file.
9777         * modules/lgamma: New file.
9778         * modules/log: New file.
9779         * modules/log10: New file.
9780         * modules/log1p: New file.
9781         * modules/logb: New file.
9782         * modules/modf: New file.
9783         * modules/nextafter: New file.
9784         * modules/pow: New file.
9785         * modules/remainder: New file.
9786         * modules/rint: New file.
9787         * modules/sin: New file.
9788         * modules/sinh: New file.
9789         * modules/sqrt: New file.
9790         * modules/tan: New file.
9791         * modules/tanh: New file.
9792         * modules/y0: New file.
9793         * modules/y1: New file.
9794         * modules/yn: New file.
9795         * doc/posix-functions/acos.texi: Mention the 'acos' module.
9796         * doc/posix-functions/asin.texi: Mention the 'asin' module.
9797         * doc/posix-functions/atan.texi: Mention the 'atan' module.
9798         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
9799         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
9800         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
9801         * doc/posix-functions/cos.texi: Mention the 'cos' module.
9802         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
9803         * doc/posix-functions/erf.texi: Mention the 'erf' module.
9804         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
9805         * doc/posix-functions/exp.texi: Mention the 'exp' module.
9806         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
9807         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
9808         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
9809         * doc/posix-functions/j0.texi: Mention the 'j0' module.
9810         * doc/posix-functions/j1.texi: Mention the 'j1' module.
9811         * doc/posix-functions/jn.texi: Mention the 'jn' module.
9812         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
9813         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
9814         * doc/posix-functions/log.texi: Mention the 'log' module.
9815         * doc/posix-functions/log10.texi: Mention the 'log10' module.
9816         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
9817         * doc/posix-functions/logb.texi: Mention the 'logb' module.
9818         * doc/posix-functions/modf.texi: Mention the 'modf' module.
9819         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
9820         * doc/posix-functions/pow.texi: Mention the 'pow' module.
9821         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
9822         * doc/posix-functions/rint.texi: Mention the 'rint' module.
9823         * doc/posix-functions/sin.texi: Mention the 'sin' module.
9824         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
9825         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
9826         * doc/posix-functions/tan.texi: Mention the 'tan' module.
9827         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
9828         * doc/posix-functions/y0.texi: Mention the 'y0' module.
9829         * doc/posix-functions/y1.texi: Mention the 'y1' module.
9830         * doc/posix-functions/yn.texi: Mention the 'yn' module.
9831
9832 2010-01-18  Jim Meyering  <meyering@redhat.com>
9833
9834         ignore-value: relax license to LGPLv2+
9835         * modules/ignore-value (License): Relax to LGPLv2+.
9836
9837         getdate: don't leak when TZ contains two or more '"'s
9838         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
9839         double quote in TZ after the first one.
9840
9841         readtokens: do not leak internal token_lengths buffer
9842         * lib/readtokens.c (readtokens): Free the local, lengths,
9843         when the supplied "token_lengths" parameter is NULL.
9844
9845 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9846
9847         Fix a couple of missing LIBTHREAD link failures on AIX.
9848         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
9849         $(LIBTHREAD).
9850         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
9851
9852         Link test-poll against INET_PTON_LIB.
9853         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
9854         for inet_pton on Solaris 10.
9855
9856 2010-01-17  Bruno Haible  <bruno@clisp.org>
9857
9858         unistdio/*-sprintf: Fix typo in module description.
9859         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
9860         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
9861         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
9862         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
9863         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
9864         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
9865         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
9866         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
9867
9868 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9869
9870         gnulib-tool: fix filelist for AIX, HP-UX ksh.
9871         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
9872         variables in shell case patterns, for AIX and HP-UX ksh.
9873
9874         Split large sed scripts, for HP-UX sed.
9875         * modules/stdio: Split sed scripts around 50 sed commands,
9876         to avoid HP-UX limit of 99 commands, in the near future.
9877         * modules/string: Likewise.
9878         * modules/unistd: Likewise.
9879
9880         gnulib-tool: avoid writing in the current directory.
9881         * gnulib-tool (func_emit_lib_Makefile_am)
9882         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
9883         not in the current directory, so concurrent gnulib-tool
9884         instances do not interfere.
9885
9886 2010-01-16  Jim Meyering  <meyering@redhat.com>
9887
9888         doc: update users.txt
9889         * users.txt: Add grep.
9890         (diffutils, gzip): Update URLs.
9891
9892 2010-01-12  Bruno Haible  <bruno@clisp.org>
9893
9894         posix_spawn: Avoid test failure on Cygwin.
9895         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
9896         characters.
9897         Reported by Simon Josefsson.
9898
9899 2010-01-12  Bruno Haible  <bruno@clisp.org>
9900
9901         * tests/test-cond.c (main): When skipping the test, show the reason.
9902
9903 2010-01-12  Simon Josefsson  <simon@josefsson.org>
9904
9905         * lib/striconv.c (str_cd_iconv): Avoid if before free.
9906
9907 2010-01-12  Simon Josefsson  <simon@josefsson.org>
9908
9909         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
9910         VC_LIST_ALWAYS_EXCLUDE_REGEX.
9911
9912 2010-01-12  Eric Blake  <ebb9@byu.net>
9913
9914         build: guarantee AS_VAR_IF
9915         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
9916         (gl_AS_VAR_IF): Move...
9917         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
9918         Reported by Simon Josefsson.
9919
9920 2010-01-12  Simon Josefsson  <simon@josefsson.org>
9921
9922         * lib/stdio.in.h: Fix typo.
9923
9924 2010-01-12  Simon Josefsson  <simon@josefsson.org>
9925
9926         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
9927         libgpg-error.
9928
9929 2010-01-12  Simon Josefsson  <simon@josefsson.org>
9930
9931         * tests/test-xalloc-die.sh: Use $EXEEXT.
9932
9933 2010-01-12  Simon Josefsson  <simon@josefsson.org>
9934             Bruno Haible  <bruno@clisp.org>
9935
9936         getlogin, getlogin_r: Avoid test failure.
9937         * tests/test-getlogin.c: Include <stdio.h>.
9938         (main): Skip the test when the function fails because stdin is not a
9939         tty.
9940         * tests/test-getlogin_r.c: Include <stdio.h>.
9941         (main): Skip the test when the function fails because stdin is not a
9942         tty.
9943
9944 2010-01-11  Eric Blake  <ebb9@byu.net>
9945
9946         tests: avoid more large file warnings
9947         * tests/test-fflush.c: Avoid warning about ftell use.
9948         * tests/test-fseek.c: Avoid warning about fseek use.
9949
9950 2010-01-10  Bruno Haible  <bruno@clisp.org>
9951
9952         nproc: Work better on Linux when /proc and /sys are not mounted.
9953         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
9954         as lower bound when, on glibc/Linux systems,
9955         sysconf (_SC_NPROCESSORS_CONF) returns 1.
9956         Suggested by Pádraig Brady <P@draigbrady.com>.
9957         Reported by Dmitry V. Levin <ldv@altlinux.org>.
9958
9959         nproc: Refactor.
9960         * lib/nproc.c (num_processors_via_affinity_mask): New function,
9961         extracted from num_processors.
9962         (num_processors): Call it.
9963
9964 2010-01-11  Jim Meyering  <meyering@redhat.com>
9965
9966         utimecmp: avoid new warning from upcoming gcc-4.5.0
9967         * lib/utimecmp.c (BILLION): Define using #define rather than an
9968         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
9969
9970 2010-01-11  Eric Blake  <ebb9@byu.net>
9971
9972         math: add portability warnings for classification macros
9973         * modules/math (Depends-on): Add warn-on-use.
9974         (Makefile.am): Provide new substitutions.
9975         * m4/math_h.m4 (gl_MATH_H): Require inline.
9976         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
9977         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
9978         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
9979         implement warnings.
9980
9981         unistd: warn on use of environ without module
9982         * modules/unistd (Depends-on): Add warn-on-use.
9983         (Makefile.am): Provide new substitutions.
9984         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
9985         * lib/unistd.in.h (environ): Wrap with a warning helper function.
9986
9987         stdio: warn on suspicious uses
9988         * modules/stdio (Depends-on): Add warn-on-use.
9989         (Makefile.am): Provide new substitutions.
9990         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
9991         fseeko.
9992         * lib/stdio.in.h (gets): Always warn on use.
9993         (fseek, ftell): Adjust when warnings are issued, and honor
9994         _GL_NO_LARGE_FILES as a way to silence the warning.
9995         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
9996         any warning about large file offsets.
9997         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
9998         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
9999         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
10000         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
10001         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
10002         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
10003         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
10004         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
10005
10006         warn-on-use: new module
10007         * modules/warn-on-use: New file.
10008         * build-aux/warn-on-use.h: Likewise.
10009         * m4/warn-on-use.m4: Likewise.
10010         * MODULES.html.sh (Support for building): Mention it.
10011
10012 2010-01-10  Bruno Haible  <bruno@clisp.org>
10013
10014         Tests for module 'unistr/u32-strdup'.
10015         * modules/unistr/u32-strdup-tests: New file.
10016         * tests/unistr/test-u32-strdup.c: New file.
10017
10018         Tests for module 'unistr/u16-strdup'.
10019         * modules/unistr/u16-strdup-tests: New file.
10020         * tests/unistr/test-u16-strdup.c: New file.
10021
10022         Tests for module 'unistr/u8-strdup'.
10023         * modules/unistr/u8-strdup-tests: New file.
10024         * tests/unistr/test-u8-strdup.c: New file.
10025         * tests/unistr/test-strdup.h: New file.
10026
10027         Tests for module 'unistr/u32-strncmp'.
10028         * modules/unistr/u32-strncmp-tests: New file.
10029         * tests/unistr/test-u32-strncmp.c: New file.
10030
10031         Tests for module 'unistr/u16-strncmp'.
10032         * modules/unistr/u16-strncmp-tests: New file.
10033         * tests/unistr/test-u16-strncmp.c: New file.
10034
10035         Tests for module 'unistr/u8-strncmp'.
10036         * modules/unistr/u8-strncmp-tests: New file.
10037         * tests/unistr/test-u8-strncmp.c: New file.
10038         * tests/unistr/test-strncmp.h: New file.
10039
10040         Tests for module 'unistr/u32-strcoll'.
10041         * modules/unistr/u32-strcoll-tests: New file.
10042         * tests/unistr/test-u32-strcoll.c: New file.
10043
10044         Tests for module 'unistr/u16-strcoll'.
10045         * modules/unistr/u16-strcoll-tests: New file.
10046         * tests/unistr/test-u16-strcoll.c: New file.
10047
10048         Tests for module 'unistr/u8-strcoll'.
10049         * modules/unistr/u8-strcoll-tests: New file.
10050         * tests/unistr/test-u8-strcoll.c: New file.
10051
10052         Tests for module 'unistr/u32-strcmp'.
10053         * modules/unistr/u32-strcmp-tests: New file.
10054         * tests/unistr/test-u32-strcmp.c: New file.
10055         * tests/unistr/test-u32-strcmp.h: New file.
10056
10057         Tests for module 'unistr/u16-strcmp'.
10058         * modules/unistr/u16-strcmp-tests: New file.
10059         * tests/unistr/test-u16-strcmp.c: New file.
10060         * tests/unistr/test-u16-strcmp.h: New file.
10061
10062         Tests for module 'unistr/u8-strcmp'.
10063         * modules/unistr/u8-strcmp-tests: New file.
10064         * tests/unistr/test-u8-strcmp.c: New file.
10065         * tests/unistr/test-u8-strcmp.h: New file.
10066         * tests/unistr/test-strcmp.h: New file.
10067
10068         Tests for module 'unistr/u32-strncat'.
10069         * modules/unistr/u32-strncat-tests: New file.
10070         * tests/unistr/test-u32-strncat.c: New file.
10071
10072         Tests for module 'unistr/u16-strncat'.
10073         * modules/unistr/u16-strncat-tests: New file.
10074         * tests/unistr/test-u16-strncat.c: New file.
10075
10076         Tests for module 'unistr/u8-strncat'.
10077         * modules/unistr/u8-strncat-tests: New file.
10078         * tests/unistr/test-u8-strncat.c: New file.
10079         * tests/unistr/test-strncat.h: New file.
10080
10081         Tests for module 'unistr/u32-strcat'.
10082         * modules/unistr/u32-strcat-tests: New file.
10083         * tests/unistr/test-u32-strcat.c: New file.
10084
10085         Tests for module 'unistr/u16-strcat'.
10086         * modules/unistr/u16-strcat-tests: New file.
10087         * tests/unistr/test-u16-strcat.c: New file.
10088
10089         Tests for module 'unistr/u8-strcat'.
10090         * modules/unistr/u8-strcat-tests: New file.
10091         * tests/unistr/test-u8-strcat.c: New file.
10092         * tests/unistr/test-strcat.h: New file.
10093
10094         Tests for module 'unistr/u32-stpncpy'.
10095         * modules/unistr/u32-stpncpy-tests: New file.
10096         * tests/unistr/test-u32-stpncpy.c: New file.
10097
10098         Tests for module 'unistr/u16-stpncpy'.
10099         * modules/unistr/u16-stpncpy-tests: New file.
10100         * tests/unistr/test-u16-stpncpy.c: New file.
10101
10102         Tests for module 'unistr/u8-stpncpy'.
10103         * modules/unistr/u8-stpncpy-tests: New file.
10104         * tests/unistr/test-u8-stpncpy.c: New file.
10105         * tests/unistr/test-stpncpy.h: New file.
10106
10107         Tests for module 'unistr/u32-strncpy'.
10108         * modules/unistr/u32-strncpy-tests: New file.
10109         * tests/unistr/test-u32-strncpy.c: New file.
10110
10111         Tests for module 'unistr/u16-strncpy'.
10112         * modules/unistr/u16-strncpy-tests: New file.
10113         * tests/unistr/test-u16-strncpy.c: New file.
10114
10115         Tests for module 'unistr/u8-strncpy'.
10116         * modules/unistr/u8-strncpy-tests: New file.
10117         * tests/unistr/test-u8-strncpy.c: New file.
10118         * tests/unistr/test-strncpy.h: New file.
10119
10120         Tests for module 'unistr/u32-stpcpy'.
10121         * modules/unistr/u32-stpcpy-tests: New file.
10122         * tests/unistr/test-u32-stpcpy.c: New file.
10123
10124         Tests for module 'unistr/u16-stpcpy'.
10125         * modules/unistr/u16-stpcpy-tests: New file.
10126         * tests/unistr/test-u16-stpcpy.c: New file.
10127
10128         Tests for module 'unistr/u8-stpcpy'.
10129         * modules/unistr/u8-stpcpy-tests: New file.
10130         * tests/unistr/test-u8-stpcpy.c: New file.
10131         * tests/unistr/test-stpcpy.h: New file.
10132
10133         Tests for module 'unistr/u32-strcpy'.
10134         * modules/unistr/u32-strcpy-tests: New file.
10135         * tests/unistr/test-u32-strcpy.c: New file.
10136
10137         Tests for module 'unistr/u16-strcpy'.
10138         * modules/unistr/u16-strcpy-tests: New file.
10139         * tests/unistr/test-u16-strcpy.c: New file.
10140
10141         Tests for module 'unistr/u8-strcpy'.
10142         * modules/unistr/u8-strcpy-tests: New file.
10143         * tests/unistr/test-u8-strcpy.c: New file.
10144         * tests/unistr/test-strcpy.h: New file.
10145
10146         Tests for module 'unistr/u32-strnlen'.
10147         * modules/unistr/u32-strnlen-tests: New file.
10148         * tests/unistr/test-u32-strnlen.c: New file.
10149
10150         Tests for module 'unistr/u16-strnlen'.
10151         * modules/unistr/u16-strnlen-tests: New file.
10152         * tests/unistr/test-u16-strnlen.c: New file.
10153
10154         Tests for module 'unistr/u8-strnlen'.
10155         * modules/unistr/u8-strnlen-tests: New file.
10156         * tests/unistr/test-u8-strnlen.c: New file.
10157         * tests/unistr/test-strnlen.h: New file.
10158
10159         Tests for module 'unistr/u32-strlen'.
10160         * modules/unistr/u32-strlen-tests: New file.
10161         * tests/unistr/test-u32-strlen.c: New file.
10162
10163         Tests for module 'unistr/u16-strlen'.
10164         * modules/unistr/u16-strlen-tests: New file.
10165         * tests/unistr/test-u16-strlen.c: New file.
10166
10167         Tests for module 'unistr/u8-strlen'.
10168         * modules/unistr/u8-strlen-tests: New file.
10169         * tests/unistr/test-u8-strlen.c: New file.
10170
10171         Tests for module 'unistr/u32-prev'.
10172         * modules/unistr/u32-prev-tests: New file.
10173         * tests/unistr/test-u32-prev.c: New file.
10174
10175         Tests for module 'unistr/u16-prev'.
10176         * modules/unistr/u16-prev-tests: New file.
10177         * tests/unistr/test-u16-prev.c: New file.
10178
10179         Tests for module 'unistr/u8-prev'.
10180         * modules/unistr/u8-prev-tests: New file.
10181         * tests/unistr/test-u8-prev.c: New file.
10182
10183         Tests for module 'unistr/u32-next'.
10184         * modules/unistr/u32-next-tests: New file.
10185         * tests/unistr/test-u32-next.c: New file.
10186
10187         Tests for module 'unistr/u16-next'.
10188         * modules/unistr/u16-next-tests: New file.
10189         * tests/unistr/test-u16-next.c: New file.
10190
10191         Tests for module 'unistr/u8-next'.
10192         * modules/unistr/u8-next-tests: New file.
10193         * tests/unistr/test-u8-next.c: New file.
10194
10195         Tests for module 'unistr/u32-strmbtouc'.
10196         * modules/unistr/u32-strmbtouc-tests: New file.
10197         * tests/unistr/test-u32-strmbtouc.c: New file.
10198
10199         Tests for module 'unistr/u16-strmbtouc'.
10200         * modules/unistr/u16-strmbtouc-tests: New file.
10201         * tests/unistr/test-u16-strmbtouc.c: New file.
10202
10203         Tests for module 'unistr/u8-strmbtouc'.
10204         * modules/unistr/u8-strmbtouc-tests: New file.
10205         * tests/unistr/test-u8-strmbtouc.c: New file.
10206
10207         Tests for module 'unistr/u32-strmblen'.
10208         * modules/unistr/u32-strmblen-tests: New file.
10209         * tests/unistr/test-u32-strmblen.c: New file.
10210
10211         Tests for module 'unistr/u16-strmblen'.
10212         * modules/unistr/u16-strmblen-tests: New file.
10213         * tests/unistr/test-u16-strmblen.c: New file.
10214
10215         Tests for module 'unistr/u8-strmblen'.
10216         * modules/unistr/u8-strmblen-tests: New file.
10217         * tests/unistr/test-u8-strmblen.c: New file.
10218
10219         Tests for module 'unistr/u32-cpy-alloc'.
10220         * modules/unistr/u32-cpy-alloc-tests: New file.
10221         * tests/unistr/test-u32-cpy-alloc.c: New file.
10222
10223         Tests for module 'unistr/u16-cpy-alloc'.
10224         * modules/unistr/u16-cpy-alloc-tests: New file.
10225         * tests/unistr/test-u16-cpy-alloc.c: New file.
10226
10227         Tests for module 'unistr/u8-cpy-alloc'.
10228         * modules/unistr/u8-cpy-alloc-tests: New file.
10229         * tests/unistr/test-u8-cpy-alloc.c: New file.
10230         * tests/unistr/test-cpy-alloc.h: New file.
10231
10232         Tests for module 'unistr/u32-mbsnlen'.
10233         * modules/unistr/u32-mbsnlen-tests: New file.
10234         * tests/unistr/test-u32-mbsnlen.c: New file.
10235
10236         Tests for module 'unistr/u16-mbsnlen'.
10237         * modules/unistr/u16-mbsnlen-tests: New file.
10238         * tests/unistr/test-u16-mbsnlen.c: New file.
10239
10240         Tests for module 'unistr/u8-mbsnlen'.
10241         * modules/unistr/u8-mbsnlen-tests: New file.
10242         * tests/unistr/test-u8-mbsnlen.c: New file.
10243
10244         Tests for module 'unistr/u32-chr'.
10245         * modules/unistr/u32-chr-tests: New file.
10246         * tests/unistr/test-u32-chr.c: New file.
10247
10248         Tests for module 'unistr/u16-chr'.
10249         * modules/unistr/u16-chr-tests: New file.
10250         * tests/unistr/test-u16-chr.c: New file.
10251
10252         Tests for module 'unistr/u8-chr'.
10253         * modules/unistr/u8-chr-tests: New file.
10254         * tests/unistr/test-u8-chr.c: New file.
10255         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
10256
10257         Tests for module 'unistr/u32-cmp2'.
10258         * modules/unistr/u32-cmp2-tests: New file.
10259         * tests/unistr/test-u32-cmp2.c: New file.
10260
10261         Tests for module 'unistr/u16-cmp2'.
10262         * modules/unistr/u16-cmp2-tests: New file.
10263         * tests/unistr/test-u16-cmp2.c: New file.
10264
10265         Tests for module 'unistr/u8-cmp2'.
10266         * modules/unistr/u8-cmp2-tests: New file.
10267         * tests/unistr/test-u8-cmp2.c: New file.
10268         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
10269
10270         Tests for module 'unistr/u32-cmp'.
10271         * modules/unistr/u32-cmp-tests: New file.
10272         * tests/unistr/test-u32-cmp.c: New file.
10273
10274         Tests for module 'unistr/u16-cmp'.
10275         * modules/unistr/u16-cmp-tests: New file.
10276         * tests/unistr/test-u16-cmp.c: New file.
10277
10278         Tests for module 'unistr/u8-cmp'.
10279         * modules/unistr/u8-cmp-tests: New file.
10280         * tests/unistr/test-u8-cmp.c: New file.
10281         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
10282
10283         Tests for module 'unistr/u32-set'.
10284         * modules/unistr/u32-set-tests: New file.
10285         * tests/unistr/test-u32-set.c: New file.
10286
10287         Tests for module 'unistr/u16-set'.
10288         * modules/unistr/u16-set-tests: New file.
10289         * tests/unistr/test-u16-set.c: New file.
10290
10291         Tests for module 'unistr/u8-set'.
10292         * modules/unistr/u8-set-tests: New file.
10293         * tests/unistr/test-u8-set.c: New file.
10294         * tests/unistr/test-set.h: New file.
10295
10296         Tests for module 'unistr/u32-move'.
10297         * modules/unistr/u32-move-tests: New file.
10298         * tests/unistr/test-u32-move.c: New file.
10299
10300         Tests for module 'unistr/u16-move'.
10301         * modules/unistr/u16-move-tests: New file.
10302         * tests/unistr/test-u16-move.c: New file.
10303
10304         Tests for module 'unistr/u8-move'.
10305         * modules/unistr/u8-move-tests: New file.
10306         * tests/unistr/test-u8-move.c: New file.
10307         * tests/unistr/test-move.h: New file.
10308
10309         Tests for module 'unistr/u32-cpy'.
10310         * modules/unistr/u32-cpy-tests: New file.
10311         * tests/unistr/test-u32-cpy.c: New file.
10312
10313         Tests for module 'unistr/u16-cpy'.
10314         * modules/unistr/u16-cpy-tests: New file.
10315         * tests/unistr/test-u16-cpy.c: New file.
10316
10317         Tests for module 'unistr/u8-cpy'.
10318         * modules/unistr/u8-cpy-tests: New file.
10319         * tests/unistr/test-u8-cpy.c: New file.
10320         * tests/unistr/test-cpy.h: New file.
10321
10322 2010-01-09  Bruno Haible  <bruno@clisp.org>
10323
10324         Tests for module 'unistr/u32-uctomb'.
10325         * modules/unistr/u32-uctomb-tests: New file.
10326         * tests/unistr/test-u32-uctomb.c: New file.
10327
10328         Tests for module 'unistr/u16-uctomb'.
10329         * modules/unistr/u16-uctomb-tests: New file.
10330         * tests/unistr/test-u16-uctomb.c: New file.
10331
10332         Tests for module 'unistr/u8-uctomb'.
10333         * modules/unistr/u8-uctomb-tests: New file.
10334         * tests/unistr/test-u8-uctomb.c: New file.
10335
10336         Tests for module 'unistr/u32-mbtoucr'.
10337         * modules/unistr/u32-mbtoucr-tests: New file.
10338         * tests/unistr/test-u32-mbtoucr.c: New file.
10339
10340         Tests for module 'unistr/u16-mbtoucr'.
10341         * modules/unistr/u16-mbtoucr-tests: New file.
10342         * tests/unistr/test-u16-mbtoucr.c: New file.
10343
10344         Tests for module 'unistr/u8-mbtoucr'.
10345         * modules/unistr/u8-mbtoucr-tests: New file.
10346         * tests/unistr/test-u8-mbtoucr.c: New file.
10347
10348         Tests for module 'unistr/u32-mbtouc'.
10349         * modules/unistr/u32-mbtouc-tests: New file.
10350         * tests/unistr/test-u32-mbtouc.c: New file.
10351
10352         Tests for module 'unistr/u16-mbtouc'.
10353         * modules/unistr/u16-mbtouc-tests: New file.
10354         * tests/unistr/test-u16-mbtouc.c: New file.
10355
10356         Tests for module 'unistr/u8-mbtouc'.
10357         * modules/unistr/u8-mbtouc-tests: New file.
10358         * tests/unistr/test-u8-mbtouc.c: New file.
10359
10360         Tests for module 'unistr/u32-mbtouc-unsafe'.
10361         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
10362         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
10363         * tests/unistr/test-u32-mbtouc.h: New file.
10364
10365         Tests for module 'unistr/u16-mbtouc-unsafe'.
10366         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
10367         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
10368         * tests/unistr/test-u16-mbtouc.h: New file.
10369
10370         Tests for module 'unistr/u8-mbtouc-unsafe'.
10371         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
10372         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
10373         * tests/unistr/test-u8-mbtouc.h: New file.
10374
10375         Tests for module 'unistr/u32-mblen'.
10376         * modules/unistr/u32-mblen-tests: New file.
10377         * tests/unistr/test-u32-mblen.c: New file.
10378
10379         Tests for module 'unistr/u16-mblen'.
10380         * modules/unistr/u16-mblen-tests: New file.
10381         * tests/unistr/test-u16-mblen.c: New file.
10382
10383         Tests for module 'unistr/u8-mblen'.
10384         * modules/unistr/u8-mblen-tests: New file.
10385         * tests/unistr/test-u8-mblen.c: New file.
10386
10387         Tests for module 'unistr/u32-to-u16'.
10388         * modules/unistr/u32-to-u16-tests: New file.
10389         * tests/unistr/test-u32-to-u16.c: New file.
10390
10391         Tests for module 'unistr/u32-to-u8'.
10392         * modules/unistr/u32-to-u8-tests: New file.
10393         * tests/unistr/test-u32-to-u8.c: New file.
10394
10395         Tests for module 'unistr/u16-to-u32'.
10396         * modules/unistr/u16-to-u32-tests: New file.
10397         * tests/unistr/test-u16-to-u32.c: New file.
10398
10399         Tests for module 'unistr/u16-to-u8'.
10400         * modules/unistr/u16-to-u8-tests: New file.
10401         * tests/unistr/test-u16-to-u8.c: New file.
10402
10403         Tests for module 'unistr/u8-to-u32'.
10404         * modules/unistr/u8-to-u32-tests: New file.
10405         * tests/unistr/test-u8-to-u32.c: New file.
10406
10407         Tests for module 'unistr/u8-to-u16'.
10408         * modules/unistr/u8-to-u16-tests: New file.
10409         * tests/unistr/test-u8-to-u16.c: New file.
10410
10411         Tests for module 'unistr/u32-check'.
10412         * modules/unistr/u32-check-tests: New file.
10413         * tests/unistr/test-u32-check.c: New file.
10414
10415         Tests for module 'unistr/u16-check'.
10416         * modules/unistr/u16-check-tests: New file.
10417         * tests/unistr/test-u16-check.c: New file.
10418
10419         Tests for module 'unistr/u8-check'.
10420         * modules/unistr/u8-check-tests: New file.
10421         * tests/unistr/test-u8-check.c: New file.
10422
10423         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
10424         (category_equals): New function.
10425         (main): Add more tests.
10426         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
10427
10428         * tests/unictype/test-bidi_byname.c (main): Add more tests.
10429
10430 2010-01-10  Bruno Haible  <bruno@clisp.org>
10431
10432         unistr/u*-strcoll: Try harder to distinguish different strings.
10433         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
10434         compare s1 and s2 to see if they are different.
10435
10436 2010-01-10  Bruno Haible  <bruno@clisp.org>
10437
10438         unistr/u*-stpncpy: Fix the return value.
10439         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
10440         description of the return value consistent with stpncpy in glibc.
10441         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
10442         written non-NUL unit.
10443
10444 2010-01-10  Bruno Haible  <bruno@clisp.org>
10445
10446         unistr/u*-next: Add missing dependencies.
10447         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
10448         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
10449         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
10450
10451 2010-01-10  Bruno Haible  <bruno@clisp.org>
10452
10453         unistr/u8-mbsnlen: Fix return value for incomplete character.
10454         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
10455         u8_mblen.
10456         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
10457         Remove unistr/u8-mblen.
10458         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
10459         u16_mblen.
10460         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
10461         Remove unistr/u16-mblen.
10462
10463 2010-01-10  Bruno Haible  <bruno@clisp.org>
10464
10465         wchar: Fix compilation error when <wchar.h> is used from coreutils.
10466         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
10467         Reported by Brian Gough <bjg@gnu.org> and
10468         Chris Clayton <chris2553@googlemail.com> via
10469         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
10470
10471 2010-01-09  Bruno Haible  <bruno@clisp.org>
10472
10473         unistr/u16-to-u32: Reject invalid input.
10474         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
10475         u16_mbtouc.
10476         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
10477         Remove unistr/u16-mbtouc.
10478
10479         unistr/u16-to-u8: Reject invalid input.
10480         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
10481         u16_mbtouc.
10482         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
10483         Remove unistr/u16-mbtouc.
10484
10485         unistr/u8-to-u32: Reject invalid input.
10486         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
10487         u8_mbtouc.
10488         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
10489         Remove unistr/u8-mbtouc.
10490
10491         unistr/u8-to-u16: Reject invalid input.
10492         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
10493         u8_mbtouc.
10494         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
10495         Remove unistr/u8-mbtouc.
10496
10497 2010-01-09  Bruno Haible  <bruno@clisp.org>
10498
10499         Tests for module 'getlogin'.
10500         * modules/getlogin-tests: New file.
10501         * tests/test-getlogin.c: New file.
10502
10503         New module 'getlogin'.
10504         * lib/unistd.in.h (getlogin): New declaration.
10505         * lib/getlogin.c: New file.
10506         * m4/getlogin.m4: New file.
10507         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
10508         HAVE_GETLOGIN.
10509         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
10510         HAVE_GETLOGIN.
10511         * modules/getlogin: New file.
10512         * doc/posix-functions/getlogin.texi: Mention the new module.
10513         Reported by John W. Eaton <jwe@gnu.org>.
10514
10515 2010-01-09  Bruno Haible  <bruno@clisp.org>
10516
10517         getlogin_r: Support for native Windows.
10518         * lib/getlogin_r.c: Include <windows.h>
10519         (getlogin_r): Implement for native Windows.
10520         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
10521         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
10522         via John W. Eaton <jwe@gnu.org>.
10523
10524 2010-01-09  Bruno Haible  <bruno@clisp.org>
10525
10526         getlogin_r: Small fixes.
10527         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
10528         succeeds.
10529         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
10530         before testing whether getlogin_r is declared. No need to set
10531         HAVE_DECL_GETLOGIN_R to 1.
10532         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
10533
10534 2010-01-09  Bruno Haible  <bruno@clisp.org>
10535
10536         * lib/unistd.in.h (getlogin_r): Add comment.
10537
10538 2010-01-09  Bruno Haible  <bruno@clisp.org>
10539
10540         Tests for module 'getlogin_r'.
10541         * modules/getlogin_r-tests: New file.
10542         * tests/test-getlogin_r.c: New file.
10543
10544 2010-01-09  Jim Meyering  <meyering@redhat.com>
10545
10546         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
10547         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
10548         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
10549
10550 2010-01-08  Simon Josefsson  <simon@josefsson.org>
10551
10552         * lib/dup2.c (rpl_dup2): Improve comment.
10553
10554 2010-01-08  Eric Blake  <ebb9@byu.net>
10555
10556         maint.mk: allow packages to add makefile @@ exceptions
10557         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
10558         (sc_makefile_check): Rename...
10559         (sc_makefile_at_at_check): ...to this, and use hook.
10560
10561         dup2: work around mingw bug
10562         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
10563         Reported by Simon Josefsson.
10564
10565 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
10566
10567         glob: Fix C++ compilation.
10568         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
10569         C++.
10570
10571 2010-01-07  Bruno Haible  <bruno@clisp.org>
10572
10573         Fix indentation of wctype.in.h, broken since 2007-01-06.
10574         * lib/wctype.in.h: Fix indentation of preprocessor directives.
10575
10576 2010-01-07  Bruno Haible  <bruno@clisp.org>
10577
10578         mbslen: Avoid collision with system function.
10579         * lib/string.in.h [MirBSD]: Include <wchar.h>.
10580         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
10581         * m4/mbslen.m4: New file.
10582         * modules/mbslen (Files): Add it.
10583         (configure.ac): Invoke gl_MBSLEN.
10584         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
10585         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
10586         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
10587         via Ian Beckwith <ianb@erislabs.net>.
10588
10589 2010-01-07  Bruno Haible  <bruno@clisp.org>
10590
10591         dirent: Document the last fix.
10592         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
10593
10594 2010-01-07  Bruno Haible  <bruno@clisp.org>
10595
10596         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
10597         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
10598         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
10599         va_list are defined.
10600         * doc/posix-headers/stdio.texi: Document the bug of missing types.
10601         Reported by Eric Blake.
10602
10603 2010-01-07  Bruno Haible  <bruno@clisp.org>
10604
10605         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
10606         * modules/xlist (Depends-on): Add 'list',
10607         * modules/xoset (Depends-on): Add 'oset'.
10608         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
10609
10610 2010-01-07  Bruno Haible  <bruno@clisp.org>
10611
10612         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
10613         * doc/posix-functions/strncasecmp.texi: Likewise.
10614
10615 2010-01-07  Bruno Haible  <bruno@clisp.org>
10616
10617         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
10618
10619 2010-01-07  John W. Eaton  <jwe@octave.org>
10620
10621         wctype: allow C++ use
10622         * lib/wctype.in.h: Add extern "C" block for C++.
10623
10624 2010-01-06  Eric Blake  <ebb9@byu.net>
10625
10626         maint.mk: detect incorrect GFDL usage
10627         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
10628
10629 2010-01-06  Jim Meyering  <meyering@redhat.com>
10630         and Eric Blake  <ebb9@byu.net>
10631
10632         maint.mk: ignore multi-line copyright in NEWS
10633         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
10634
10635 2010-01-06  Eric Blake  <ebb9@byu.net>
10636
10637         select: add missing dependency
10638         * modules/select-tests (Depends-on): Move sockets dependency...
10639         * modules/select (Depends-on): ...here.
10640         Reported by Ian Beckwith.
10641
10642         doc: regenerate INSTALL
10643         * doc/INSTALL: Reflect recent autoconf update.
10644         * doc/INSTALL.ISO: Likewise.
10645         * doc/INSTALL.UTF-8: Likewise.
10646
10647         pread: fix compilation on glibc
10648         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
10649         Reported by Ralf Wildenhues.
10650
10651         dirent: fix test failure
10652         * lib/dirent.in.h (includes): Guarantee ino_t.
10653         Reported by Ralf Wildenhues.
10654
10655 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
10656
10657         linkat, renameat: avoid bad free
10658         * lib/at-func2.c (at_func2): Fix typo.
10659         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
10660
10661 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10662
10663         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
10664         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
10665         to avoid failure of symlink test later.
10666
10667 2010-01-06  Eric Blake  <ebb9@byu.net>
10668
10669         stdio, unistd: guarantee ssize_t
10670         * lib/unistd.in.h (includes): Ensure that types required by POSIX
10671         2008 are exposed when needed.
10672         * lib/stdio.in.h (includes): Likewise.
10673         Reported by Ralf Wildenhues.
10674
10675 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
10676
10677         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
10678         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
10679         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
10680
10681 2010-01-06  Jim Meyering  <meyering@redhat.com>
10682
10683         readtokens: this module *does* require xalloc.h
10684         It uses only functions that were omitted by the old syntax-check rule.
10685         * lib/readtokens.c: Include "xalloc.h" once again.
10686         * modules/readtokens (Depends-on): Add xalloc.
10687         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
10688
10689 2010-01-05  Eric Blake  <ebb9@byu.net>
10690
10691         maint: support 'make announcement' from a VPATH build
10692         * top/maint.mk (announcement): Look for correct NEWS file.
10693
10694 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
10695
10696         utimens (fdutimens): ignore a negative FD, per contract
10697         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
10698         when we have a valid file descriptor.  Otherwise, using a brand
10699         new glibc (with just-patched futimens that now fails with EBADF)
10700         would cause this function to fail with ENOSYS.
10701         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
10702         See also http://bugzilla.redhat.com/552320.
10703
10704 2010-01-05  Eric Blake  <ebb9@byu.net>
10705
10706         strcase: document what it provides
10707         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
10708         gnulib module.
10709         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
10710         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
10711
10712 2010-01-05  Jim Meyering  <meyering@redhat.com>
10713
10714         maint: remove useless inclusions of "xalloc.h"
10715         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
10716         * lib/readtokens.c: Likewise.
10717         * lib/same.c: Likewise.
10718         * modules/getloadavg (Depends-on): Remove xalloc.
10719         * modules/readtokens: Likewise.
10720         * modules/same: Likewise.
10721
10722         maint.mk: include 4 more function names in alloca.h-checking regexp
10723         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
10724         regexp.  Before, we would give a false-positive (saying alloca.h
10725         is included unnecessarily) when the only uses involved omitted symbols.
10726
10727         xalloc.h: use consistent formatting
10728         * lib/xalloc.h: Move declarations to start in the first column.
10729
10730 2010-01-05  Eric Blake  <ebb9@byu.net>
10731
10732         mkdir: avoid xalloc
10733         * lib/mkdir.c (includes): Drop unused header.
10734         Reported by John W. Eaton.
10735
10736 2010-01-04  Jim Meyering  <meyering@redhat.com>
10737
10738         nl_langinfo: avoid configure-time syntax error
10739         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
10740         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
10741         the empty string.  Don't let that provoke a shell syntax error.
10742
10743         regcomp, regexec, fnmatch: avoid array bounds read error
10744         * lib/regcomp.c (build_equiv_class): From glibc:
10745         Use only the low 24 bits of a findidx return value as an index
10746         into the weights array.  Patch by Ulrich Drepper:
10747         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
10748         * lib/regexec.c (check_node_accept_bytes): Likewise.
10749         * lib/fnmatch_loop.c (FCT): Likewise.
10750
10751         regcomp: skip collseq lookup when there are no rules
10752         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
10753         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
10754
10755         regcomp: recognize ill-formed { } expressions
10756         * lib/regcomp.c (parse_dup_op): From glibc:
10757         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
10758
10759         regcomp: fix typo in comment
10760         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
10761         s/satisfy/satisfies/.
10762
10763         regcomp: sync from glibc: remove dead store
10764         * lib/regcomp.c (duplicate_node_closure): Remove useless
10765         search_duplicated_node call and dead store.
10766
10767         regcomp: sync from glibc; always use nl_langinfo
10768         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
10769         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
10770         * modules/regex (Depends-on): Add nl_langinfo.
10771
10772 2010-01-04  Eric Blake  <ebb9@byu.net>
10773
10774         fdopendir: fix configure test
10775         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
10776
10777 2010-01-01  Bruno Haible  <bruno@clisp.org>
10778
10779         wchar: Remove unused configure check.
10780         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
10781
10782 2010-01-01  Eric Blake  <ebb9@byu.net>
10783
10784         headers: make check of system header explicit
10785         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
10786         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
10787         ourselves.
10788         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
10789         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
10790         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
10791         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
10792         internals.
10793         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
10794         missing.
10795         Suggested by Bruno Haible.
10796
10797 2010-01-01  Jim Meyering  <meyering@redhat.com>
10798
10799         ChangeLog: tweak to eliminate unnecessary copyright line
10800         * ChangeLog: Remove a copyright line that was mistakenly updated
10801         by today's update-copyright run.  Reported by Eric Blake.
10802
10803         test-update-copyright: don't let envvar setting cause test failure
10804         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
10805
10806 2010-01-01  Bruno Haible  <bruno@clisp.org>
10807
10808         localename: Avoid gcc warning.
10809         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
10810         function if it is not used.
10811
10812 2010-01-01  Jim Meyering  <meyering@redhat.com>
10813
10814         update nearly all FSF copyright year lists to include 2010
10815         Use the same procedure as for 2009, outlined in
10816         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
10817
10818         version-etc: set COPYRIGHT_YEAR to 2010
10819         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
10820
10821 2009-12-31  Eric Blake  <ebb9@byu.net>
10822
10823         doc: correct availability of cygwin 1.5.x getopt
10824         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
10825         variables.
10826         * doc/posix-functions/opterr.texi (opterr): Likewise.
10827         * doc/posix-functions/optind.texi (optind): Likewise.
10828         * doc/posix-functions/optopt.texi (optopt): Likewise.
10829         * doc/posix-functions/tzname.texi (tzname): Likewise.
10830
10831         openat: update maintainer
10832         * modules/openat (Maintainer): Add myself.
10833
10834         utimens: avoid shadowing warning
10835         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
10836         buffers into one, to avoid shadowing, as well as avoiding a
10837         redundant stat.
10838         Reported by Jim Meyering.
10839
10840         test-dup2: avoid compiler warning
10841         * tests/test-dup2.c (is_inheritable): Only define if used.
10842
10843 2010-01-01  Bruno Haible  <bruno@clisp.org>
10844
10845         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
10846         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
10847         defined, use wctomb instead of wcrtomb.
10848
10849 2010-01-01  Bruno Haible  <bruno@clisp.org>
10850
10851         iconv: Reject native Solaris iconv.
10852         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
10853         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
10854
10855 2009-12-31  Bruno Haible  <bruno@clisp.org>
10856
10857         * tests/test-signal.c (main): Remove test of 'SIG'.
10858
10859 2009-12-31  Bruno Haible  <bruno@clisp.org>
10860
10861         spawn: Fix incomplete fix.
10862         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
10863         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
10864         warnings for GNULIB_POSIXCHECK again.
10865         Reported by Eric Blake.
10866
10867 2009-12-31  Bruno Haible  <bruno@clisp.org>
10868
10869         Avoid namespace pollution on glibc systems.
10870         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
10871         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
10872         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
10873         glibc systems.
10874
10875 2009-12-31  Bruno Haible  <bruno@clisp.org>
10876
10877         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
10878         (gl_REPLACE_WCHAR_H): Turn into a no-op.
10879         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
10880         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
10881         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
10882         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
10883         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
10884
10885 2009-12-31  Bruno Haible  <bruno@clisp.org>
10886
10887         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
10888         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
10889         afterwards.
10890
10891 2009-12-31  Bruno Haible  <bruno@clisp.org>
10892
10893         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
10894         SYS_UTSNAME_H.
10895
10896 2009-12-31  Bruno Haible  <bruno@clisp.org>
10897
10898         spawn: Fix misapplied patch.
10899         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
10900         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
10901         warnings for GNULIB_POSIXCHECK.
10902
10903 2009-12-31  Bruno Haible  <bruno@clisp.org>
10904
10905         times: Update after sys_times changed.
10906         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
10907         * modules/times (Files): Add it.
10908         (configure.ac): Invoke gl_FUNC_TIMES.
10909
10910 2009-12-31  Bruno Haible  <bruno@clisp.org>
10911
10912         Use AC_C_INLINE where necessary.
10913         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
10914         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
10915         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
10916         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
10917         * m4/mbfile.m4 (gl_MBFILE): Likewise.
10918         * m4/mbiter.m4 (gl_MBITER): Likewise.
10919         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
10920         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
10921         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
10922         * modules/u64 (configure.ac): Likewise.
10923
10924 2009-12-31  Bruno Haible  <bruno@clisp.org>
10925
10926         Use AC_C_INLINE instead of module 'inline' where possible.
10927         * modules/inline (Description): Clarify purpose.
10928         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
10929         * modules/count-one-bits (Depends-on): Remove inline.
10930         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
10931         * modules/openat (Depends-on): Remove inline.
10932         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
10933         instead of depending on module 'inline'.
10934         * modules/filevercmp (Depends-on, configure.ac): Likewise.
10935         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
10936         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
10937         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
10938         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
10939         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
10940         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
10941         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
10942         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
10943         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
10944         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
10945         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
10946         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
10947         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
10948         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
10949         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
10950         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
10951         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
10952         Likewise.
10953         * modules/unictype/property-ascii-hex-digit (Depends-on,
10954         configure.ac): Likewise.
10955         * modules/unictype/property-bidi-arabic-digit (Depends-on,
10956         configure.ac): Likewise.
10957         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
10958         configure.ac): Likewise.
10959         * modules/unictype/property-bidi-block-separator (Depends-on,
10960         configure.ac): Likewise.
10961         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
10962         configure.ac): Likewise.
10963         * modules/unictype/property-bidi-common-separator (Depends-on,
10964         configure.ac): Likewise.
10965         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
10966         Likewise.
10967         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
10968         configure.ac): Likewise.
10969         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
10970         configure.ac): Likewise.
10971         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
10972         configure.ac): Likewise.
10973         * modules/unictype/property-bidi-european-digit (Depends-on,
10974         configure.ac): Likewise.
10975         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
10976         configure.ac): Likewise.
10977         * modules/unictype/property-bidi-left-to-right (Depends-on,
10978         configure.ac): Likewise.
10979         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
10980         configure.ac): Likewise.
10981         * modules/unictype/property-bidi-other-neutral (Depends-on,
10982         configure.ac): Likewise.
10983         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
10984         Likewise.
10985         * modules/unictype/property-bidi-segment-separator (Depends-on,
10986         configure.ac): Likewise.
10987         * modules/unictype/property-bidi-whitespace (Depends-on,
10988         configure.ac): Likewise.
10989         * modules/unictype/property-combining (Depends-on, configure.ac):
10990         Likewise.
10991         * modules/unictype/property-composite (Depends-on, configure.ac):
10992         Likewise.
10993         * modules/unictype/property-currency-symbol (Depends-on,
10994         configure.ac): Likewise.
10995         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
10996         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
10997         Likewise.
10998         * modules/unictype/property-default-ignorable-code-point (Depends-on,
10999         configure.ac): Likewise.
11000         * modules/unictype/property-deprecated (Depends-on, configure.ac):
11001         Likewise.
11002         * modules/unictype/property-diacritic (Depends-on, configure.ac):
11003         Likewise.
11004         * modules/unictype/property-extender (Depends-on, configure.ac):
11005         Likewise.
11006         * modules/unictype/property-format-control (Depends-on, configure.ac):
11007         Likewise.
11008         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
11009         Likewise.
11010         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
11011         Likewise.
11012         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
11013         Likewise.
11014         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
11015         Likewise.
11016         * modules/unictype/property-hyphen (Depends-on, configure.ac):
11017         Likewise.
11018         * modules/unictype/property-id-continue (Depends-on, configure.ac):
11019         Likewise.
11020         * modules/unictype/property-id-start (Depends-on, configure.ac):
11021         Likewise.
11022         * modules/unictype/property-ideographic (Depends-on, configure.ac):
11023         Likewise.
11024         * modules/unictype/property-ids-binary-operator (Depends-on,
11025         configure.ac): Likewise.
11026         * modules/unictype/property-ids-trinary-operator (Depends-on,
11027         configure.ac): Likewise.
11028         * modules/unictype/property-ignorable-control (Depends-on,
11029         configure.ac): Likewise.
11030         * modules/unictype/property-iso-control (Depends-on, configure.ac):
11031         Likewise.
11032         * modules/unictype/property-join-control (Depends-on, configure.ac):
11033         Likewise.
11034         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
11035         Likewise.
11036         * modules/unictype/property-line-separator (Depends-on, configure.ac):
11037         Likewise.
11038         * modules/unictype/property-logical-order-exception (Depends-on,
11039         configure.ac): Likewise.
11040         * modules/unictype/property-lowercase (Depends-on, configure.ac):
11041         Likewise.
11042         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
11043         * modules/unictype/property-non-break (Depends-on, configure.ac):
11044         Likewise.
11045         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
11046         Likewise.
11047         * modules/unictype/property-numeric (Depends-on, configure.ac):
11048         Likewise.
11049         * modules/unictype/property-other-alphabetic (Depends-on,
11050         configure.ac): Likewise.
11051         * modules/unictype/property-other-default-ignorable-code-point
11052         (Depends-on, configure.ac): Likewise.
11053         * modules/unictype/property-other-grapheme-extend (Depends-on,
11054         configure.ac): Likewise.
11055         * modules/unictype/property-other-id-continue (Depends-on,
11056         configure.ac): Likewise.
11057         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
11058         Likewise.
11059         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
11060         Likewise.
11061         * modules/unictype/property-other-math (Depends-on, configure.ac):
11062         Likewise.
11063         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
11064         Likewise.
11065         * modules/unictype/property-paired-punctuation (Depends-on,
11066         configure.ac): Likewise.
11067         * modules/unictype/property-paragraph-separator (Depends-on,
11068         configure.ac): Likewise.
11069         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
11070         Likewise.
11071         * modules/unictype/property-pattern-white-space (Depends-on,
11072         configure.ac): Likewise.
11073         * modules/unictype/property-private-use (Depends-on, configure.ac):
11074         Likewise.
11075         * modules/unictype/property-punctuation (Depends-on, configure.ac):
11076         Likewise.
11077         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
11078         Likewise.
11079         * modules/unictype/property-radical (Depends-on, configure.ac):
11080         Likewise.
11081         * modules/unictype/property-sentence-terminal (Depends-on,
11082         configure.ac): Likewise.
11083         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
11084         Likewise.
11085         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
11086         * modules/unictype/property-terminal-punctuation (Depends-on,
11087         configure.ac): Likewise.
11088         * modules/unictype/property-titlecase (Depends-on, configure.ac):
11089         Likewise.
11090         * modules/unictype/property-unassigned-code-value (Depends-on,
11091         configure.ac): Likewise.
11092         * modules/unictype/property-unified-ideograph (Depends-on,
11093         configure.ac): Likewise.
11094         * modules/unictype/property-uppercase (Depends-on, configure.ac):
11095         Likewise.
11096         * modules/unictype/property-variation-selector (Depends-on,
11097         configure.ac): Likewise.
11098         * modules/unictype/property-white-space (Depends-on, configure.ac):
11099         Likewise.
11100         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
11101         Likewise.
11102         * modules/unictype/property-xid-start (Depends-on, configure.ac):
11103         Likewise.
11104         * modules/unictype/property-zero-width (Depends-on, configure.ac):
11105         Likewise.
11106         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
11107         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
11108         Likewise.
11109
11110 2009-12-31  Bruno Haible  <bruno@clisp.org>
11111
11112         Remove unnecessary AC_C_INLINE invocation.
11113         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
11114         since 2009-08-21.
11115
11116 2009-12-31  Jim Meyering  <meyering@redhat.com>
11117
11118         maint.mk: don't require explicit gpg_key_ID in cfg.mk
11119         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
11120         With this change, we can all remove the gpg_key_ID = ... definition
11121         from our respective cfg.mk files.
11122
11123         maint.mk: create announcement template in ~/, not in /tmp
11124         * top/maint.mk (emit_upload_commands): Adjust.
11125         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
11126         Remove temporary file, .ci-msg.
11127
11128 2009-12-31  Eric Blake  <ebb9@byu.net>
11129
11130         link-warning: always build headers with link warnings
11131         * modules/arpa_inet (Makefile.am): Always build replacement
11132         header.
11133         * modules/ctype (Makefile.am): Likewise.
11134         * modules/dirent (Makefile.am): Likewise.
11135         * modules/inttypes (Makefile.am): Likewise.
11136         * modules/langinfo (Makefile.am): Likewise.
11137         * modules/locale (Makefile.am): Likewise.
11138         * modules/spawn (Makefile.am): Likewise.
11139         * modules/sys_file (Makefile.am): Likewise.
11140         * modules/sys_ioctl (Makefile.am): Likewise.
11141         * modules/sys_select (Makefile.am): Likewise.
11142         * modules/sys_socket (Makefile.am): Likewise.
11143         * modules/sys_times (Makefile.am): Likewise.
11144         * modules/sys_utsname (Makefile.am): Likewise.
11145         * modules/sys_wait (Makefile.am): Likewise.
11146         * modules/wchar (Makefile.am): Likewise.
11147         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
11148         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
11149         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
11150         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
11151         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
11152         Likewise.
11153         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
11154         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
11155         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
11156         Likewise.
11157         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
11158         Likewise.
11159         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
11160         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
11161         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
11162         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
11163         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
11164         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
11165         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
11166         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
11167         (gl_WCHAR_H_DEFAULTS): Likewise.
11168
11169 2009-12-31  Eric Blake  <ebb9@byu.net>
11170
11171         signal, spawn: use link warnings
11172         * lib/signal.in.h (sigset_t): Make unconditional.
11173         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
11174         (sigpending, sigprocmask, sigaction): Add link warnings.
11175         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
11176         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
11177         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
11178         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
11179         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
11180         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
11181         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
11182         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
11183         (posix_spawn_file_actions_destroy)
11184         (posix_spawn_file_actions_addopen)
11185         (posix_spawn_file_actions_addclose)
11186         (posix_spawn_file_actions_adddup2): Likewise.
11187         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
11188         * tests/test-signal.c (main): Enhance test.
11189
11190         spawn: improve wrapper support
11191         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
11192         (gl_SPAWN_H_DEFAULTS): New defaults.
11193         * modules/spawn (Makefile.am): Substitute them.
11194         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
11195         Only declare if missing or broken.
11196
11197         sys_times, sys_utsname: use include_next
11198         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
11199         header.
11200         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
11201         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
11202         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
11203         * modules/sys_times (Depends-on): Add include_next.
11204         (Makefile.am): Substitute additional values.
11205         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
11206         * lib/sys_times.in.h (includes): Include native header, if
11207         available.
11208         * lib/sys_utsname.in.h (includes): Likewise.
11209         * tests/test-sys_times.c (main): Enhance test.
11210
11211         fdutimensat: revert prior patch
11212         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
11213         utimens.h.
11214         Reported by Bruno Haible.
11215
11216 2009-12-30  Eric Blake  <ebb9@byu.net>
11217
11218         sys_wait: drop link-warning dependency
11219         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
11220         link-warning efforts.
11221         * lib/sys_wait.in.h: Likewise.
11222
11223         fdutimensat: remove bogus dependency
11224         * modules/fdutimensat (Depends-on): Drop inline.
11225
11226         unistd: fix typo
11227         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
11228
11229 2009-12-30  Bruno Haible  <bruno@clisp.org>
11230
11231         Fix compilation error with Solaris cc.
11232         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
11233         * lib/unicase/u16-is-invariant.c: Likewise.
11234         * lib/unicase/u32-is-invariant.c: Likewise.
11235         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
11236
11237 2009-12-30  Bruno Haible  <bruno@clisp.org>
11238
11239         Fix test crash.
11240         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
11241         locales.
11242         Reported by Simon Josefsson <simon@josefsson.org>.
11243
11244 2009-12-30  Bruno Haible  <bruno@clisp.org>
11245
11246         Fix compilation error on most platforms.
11247         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
11248         Reported by Simon Josefsson <simon@josefsson.org>
11249         and Nelson H. F. Beebe <beebe@math.utah.edu>.
11250
11251 2009-12-30  Eric Blake  <ebb9@byu.net>
11252
11253         futimens, utimensat: work around ntfs-3g bug
11254         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
11255         a ctime bug is present, and expand workaround to cover ntfs-3g.
11256         * lib/utimens.c (fdutimens, lutimens): Likewise.
11257         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
11258         (validate_timespec): Adjust return value.
11259         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
11260         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
11261         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
11262
11263 2009-12-29  Eric Blake  <ebb9@byu.net>
11264
11265         link-warning: make usage consistent
11266         * modules/ctype (Depends-on): Add link-warning.
11267         (Makefile.am): Update rules accordingly.
11268         * modules/langinfo (Depends-on, Makefile.am): Likewise.
11269         * modules/locale (Depends-on, Makefile.am): Likewise.
11270         * modules/sys_file (Makefile.am): Likewise.
11271         * modules/getopt-posix (Makefile.am): Delete unused link warning
11272         efforts.
11273         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
11274         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
11275         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
11276         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
11277
11278         stdio: remove unused variables
11279         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
11280         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
11281         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
11282
11283         tests: test more substitute headers
11284         * modules/ctype-tests: New file.
11285         * modules/dirent-tests: Likewise.
11286         * modules/spawn-tests: Likewise.
11287         * modules/sys_file-tests: Likewise.
11288         * modules/sys_ioctl-tests: Likewise.
11289         * modules/sys_wait-tests: Likewise.
11290         * tests/test-ctype.c: Likewise.
11291         * tests/test-dirent.c: Likewise.
11292         * tests/test-spawn.c: Likewise.
11293         * tests/test-sys_file.c: Likewise.
11294         * tests/test-sys_ioctl.c: Likewise.
11295         * tests/test-sys_wait.c: Likewise.
11296         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
11297         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
11298         whether or not flock is in use.
11299
11300         tests: remove License section from module
11301         * modules/arpa_inet-tests: Remove unneeded section.
11302         * modules/byteswap-tests: Likewise.
11303         * modules/ceilf-tests: Likewise.
11304         * modules/ceill-tests: Likewise.
11305         * modules/crypto/des-tests: Likewise.
11306         * modules/crypto/gc-arcfour-tests: Likewise.
11307         * modules/crypto/gc-arctwo-tests: Likewise.
11308         * modules/crypto/gc-des-tests: Likewise.
11309         * modules/crypto/gc-hmac-md5-tests: Likewise.
11310         * modules/crypto/gc-hmac-sha1-tests: Likewise.
11311         * modules/crypto/gc-md2-tests: Likewise.
11312         * modules/crypto/gc-md4-tests: Likewise.
11313         * modules/crypto/gc-md5-tests: Likewise.
11314         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
11315         * modules/crypto/gc-rijndael-tests: Likewise.
11316         * modules/crypto/gc-sha1-tests: Likewise.
11317         * modules/crypto/gc-tests: Likewise.
11318         * modules/crypto/md2-tests: Likewise.
11319         * modules/crypto/md4-tests: Likewise.
11320         * modules/fcntl-h-tests: Likewise.
11321         * modules/floorf-tests: Likewise.
11322         * modules/floorl-tests: Likewise.
11323         * modules/frexp-nolibm-tests: Likewise.
11324         * modules/frexp-tests: Likewise.
11325         * modules/frexpl-nolibm-tests: Likewise.
11326         * modules/frexpl-tests: Likewise.
11327         * modules/getaddrinfo-tests: Likewise.
11328         * modules/inttypes-tests: Likewise.
11329         * modules/isfinite-tests: Likewise.
11330         * modules/isinf-tests: Likewise.
11331         * modules/ldexpl-tests: Likewise.
11332         * modules/locale-tests: Likewise.
11333         * modules/math-tests: Likewise.
11334         * modules/netdb-tests: Likewise.
11335         * modules/netinet_in-tests: Likewise.
11336         * modules/printf-frexp-tests: Likewise.
11337         * modules/printf-frexpl-tests: Likewise.
11338         * modules/priv-set-tests: Likewise.
11339         * modules/random_r-tests: Likewise.
11340         * modules/round-tests: Likewise.
11341         * modules/roundf-tests: Likewise.
11342         * modules/roundl-tests: Likewise.
11343         * modules/search-tests: Likewise.
11344         * modules/select-tests: Likewise.
11345         * modules/signal-tests: Likewise.
11346         * modules/stdbool-tests: Likewise.
11347         * modules/stddef-tests: Likewise.
11348         * modules/stdint-tests: Likewise.
11349         * modules/stdio-tests: Likewise.
11350         * modules/stdlib-tests: Likewise.
11351         * modules/string-tests: Likewise.
11352         * modules/strings-tests: Likewise.
11353         * modules/sys_select-tests: Likewise.
11354         * modules/sys_socket-tests: Likewise.
11355         * modules/sys_stat-tests: Likewise.
11356         * modules/sys_time-tests: Likewise.
11357         * modules/sys_utsname-tests: Likewise.
11358         * modules/sysexits-tests: Likewise.
11359         * modules/time-tests: Likewise.
11360         * modules/trunc-tests: Likewise.
11361         * modules/truncf-tests: Likewise.
11362         * modules/truncl-tests: Likewise.
11363         * modules/tsearch-tests: Likewise.
11364         * modules/unistd-tests: Likewise.
11365         * modules/wchar-tests: Likewise.
11366         * modules/wctype-tests: Likewise.
11367
11368         tests: fix license on several tests
11369         * tests/test-des.c: Update to GPLv3+.
11370         * tests/test-flock.c: Likewise.
11371         * tests/test-fsync.c: Likewise.
11372         * tests/test-futimens.h: Likewise.
11373         * tests/test-gc-arcfour.c: Likewise.
11374         * tests/test-gc-arctwo.c: Likewise.
11375         * tests/test-gc-des.c: Likewise.
11376         * tests/test-gc-hmac-md5.c: Likewise.
11377         * tests/test-gc-hmac-sha1.c: Likewise.
11378         * tests/test-gc-md2.c: Likewise.
11379         * tests/test-gc-md4.c: Likewise.
11380         * tests/test-gc-md5.c: Likewise.
11381         * tests/test-gc-pbkdf2-sha1.c: Likewise.
11382         * tests/test-gc-rijndael.c: Likewise.
11383         * tests/test-gc-sha1.c: Likewise.
11384         * tests/test-gc.c: Likewise.
11385         * tests/test-getcwd.c: Likewise.
11386         * tests/test-link.c: Likewise.
11387         * tests/test-link.h: Likewise.
11388         * tests/test-lutimens.h: Likewise.
11389         * tests/test-md2.c: Likewise.
11390         * tests/test-md4.c: Likewise.
11391         * tests/test-mkdir.h: Likewise.
11392         * tests/test-rename.c: Likewise.
11393         * tests/test-rename.h: Likewise.
11394         * tests/test-safe-alloc.c: Likewise.
11395         * tests/test-utimens-common.h: Likewise.
11396         * tests/test-utimens.h: Likewise.
11397
11398         maint: sync license texts
11399         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
11400         * doc/gpl-3.0.texi: Revert copyright year update.
11401         * doc/lgpl-3.0.texi: Likewise.
11402
11403 2009-12-29  Jim Meyering  <meyering@redhat.com>
11404
11405         update nearly all FSF copyright year lists to include 2009
11406         The files named by the following are exempted:
11407             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
11408               test -f "$dst" && { echo "$dst"; continue; }
11409               test -d "$dst" || continue
11410               echo "$dst"/$(basename "$src")
11411             done > exempt
11412             git ls-files tests/unictype >> exempt
11413         In the remaining files, convert to all-interval notation if
11414         - there is already at least one year interval like 2000-2003
11415         - the file is maintained by me
11416         - the file is in lib/uni*/, where that style already prevails
11417         Otherwise, use update-copyright's default.
11418
11419 2009-12-29  Simon Josefsson  <simon@josefsson.org>
11420         and Eric Blake  <ebb9@byu.net>
11421
11422         tests: don't require debug system() to pass
11423         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
11424         * tests/test-rmdir.h (test_rmdir_func): Likewise.
11425         * tests/test-unlink.h (test_unlink_func): Likewise.
11426         * tests/test-fstatat.c (main): ...into callers.
11427         * tests/test-lstat.c (main): Likewise.
11428         * tests/test-rmdir.c (main): Likewise.
11429         * tests/test-unlink.c (main): Likewise.
11430         * tests/test-unlinkat.c (main): Likewise.
11431         * tests/test-areadlink-with-size.c (main): Don't require a
11432         debug-only system call to pass, aiding cross-testing to mingw.
11433         * tests/test-areadlink.c (main): Likewise.
11434         * tests/test-areadlinkat-with-size.c (main): Likewise.
11435         * tests/test-areadlinkat.c (main): Likewise.
11436         * tests/test-canonicalize-lgpl.c (main): Likewise.
11437         * tests/test-canonicalize.c (main): Likewise.
11438         * tests/test-chown.c (main): Likewise.
11439         * tests/test-fchownat.c (main): Likewise.
11440         * tests/test-lchown.c (main): Likewise.
11441         * tests/test-fdutimensat.c (main): Likewise.
11442         * tests/test-futimens.c (main): Likewise.
11443         * tests/test-link.c (main): Likewise.
11444         * tests/test-linkat.c (main): Likewise.
11445         * tests/test-mkdir.c (main): Likewise.
11446         * tests/test-mkdirat.c (main): Likewise.
11447         * tests/test-mkfifo.c (main): Likewise.
11448         * tests/test-mkfifoat.c (main): Likewise.
11449         * tests/test-mknod.c (main): Likewise.
11450         * tests/test-readlink.c (main): Likewise.
11451         * tests/test-remove.c (main): Likewise.
11452         * tests/test-rename.c (main): Likewise.
11453         * tests/test-renameat.c (main): Likewise.
11454         * tests/test-symlink.c (main): Likewise.
11455         * tests/test-symlinkat.c (main): Likewise.
11456         * tests/test-utimens.c (main): Likewise.
11457         * tests/test-utimensat.c (main): Likewise.
11458
11459 2009-12-29  Simon Josefsson  <simon@josefsson.org>
11460
11461         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
11462         on $(UNUSED_PARAMETER_H) to avoid build failure.
11463
11464 2009-12-28  Jim Meyering  <meyering@redhat.com>
11465
11466         update-copyright: you may specify a max. line length other than 72
11467         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
11468
11469         maint: use consistent FSF copyright line syntax
11470         * lib/posixtm.c: Add missing comma in FSF copyright line.
11471         * lib/posixtm.h: Likewise.
11472         * lib/getugroups.c: Add missing ", Inc.".
11473
11474         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
11475         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
11476         FSF copyright line.  Remove trailing blanks.
11477
11478 2009-12-28  Eric Blake  <ebb9@byu.net>
11479
11480         test-dup2: reduce dependencies
11481         * modules/cloexec (Configure.ac): Set witness.
11482         * modules/dup2-tests (Depends-on): Drop cloexec.
11483         * tests/test-dup2.c (main): Skip portion of test if cloexec module
11484         not present.
11485         Suggested by Bruno Haible.
11486
11487 2009-12-26  Bruno Haible  <bruno@clisp.org>
11488
11489         Remove an unneeded dependency.
11490         * modules/fseterr (Depends-on): Remove dup2.
11491
11492 2009-12-26  Eric Blake  <ebb9@byu.net>
11493
11494         tests: use macros.h in more places
11495         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
11496         (ASSERT_STREAM): Provide default of stderr.
11497         * tests/test-dirent-safer.c: Include macros.h, using alternate
11498         stream for assertions.
11499         * tests/test-dup-safer.c: Likewise.
11500         * tests/test-freopen-safer.c: Likewise.
11501         * tests/test-getopt.c: Likewise.
11502         * tests/test-openat-safer.c: Likewise.
11503         * tests/test-pipe.c: Likewise.
11504         * tests/test-popen-safer.c: Likewise.
11505         * modules/dirent-safer-tests (Files): Include macros.h.
11506         * modules/unistd-safer-tests (Files): Likewise.
11507         * modules/freopen-safer-tests (Files): Likewise.
11508         * modules/getopt-posix-tests (Files): Likewise.
11509         * modules/openat-safer-tests (Files): Likewise.
11510         * modules/pipe-tests (Files): Likewise.
11511
11512 2009-12-26  Bruno Haible  <bruno@clisp.org>
11513
11514         javacomp: Portability fix.
11515         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
11516         that it also works on Solaris.
11517
11518 2009-12-26  Bruno Haible  <bruno@clisp.org>
11519
11520         localename: Fix storage allocation of gl_locale_name_thread's result.
11521         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
11522         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
11523         all platforms that have 'uselocale'.
11524         (gl_locale_name_thread_unsafe): New function, extracted from
11525         gl_locale_name_thread.
11526         (gl_locale_name_thread): Call struniq on all platforms that have
11527         'uselocale'.
11528         * tests/test-localename.c (test_locale_name_thread): Check that the
11529         resulting strings are permanently allocated.
11530         * modules/localename-tests (Depends-on): Add strdup.
11531
11532 2009-12-26  Bruno Haible  <bruno@clisp.org>
11533
11534         * tests/test-localename.c (categories): Fill in the strings.
11535
11536 2009-12-26  Jim Meyering  <meyering@redhat.com>
11537
11538         isdir: complete the removal of m4/isdir.m4
11539         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
11540
11541         isdir: clean up, since at least grep still uses it
11542         * lib/isdir.c: Include "isdir.h".
11543         (S_ISDIR): Remove now-unneeded definition.
11544         * modules/isdir (Files): Add lib/isdir.h.
11545         * lib/isdir.h: New file, with declaration.
11546         * m4/isdir.m4: Remove file -- unneeded.
11547
11548 2009-12-25  Bruno Haible  <bruno@clisp.org>
11549
11550         selinux-h: Make generated .h files standalone.
11551         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
11552         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
11553         * lib/se-selinux.in.h: Likewise.
11554         * modules/selinux-h (Depends-on): Add unused-parameter.
11555         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
11556         selinux/selinux.h and selinux/context.h.
11557         Suggested by Eric Blake.
11558
11559 2009-12-25  Bruno Haible  <bruno@clisp.org>
11560
11561         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
11562         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
11563         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
11564         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
11565         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
11566
11567 2009-12-24  Bruno Haible  <bruno@clisp.org>
11568
11569         openat: Fix warning.
11570         * lib/openat-proc.c: Include <unistd.h>.
11571
11572 2009-12-24  Bruno Haible  <bruno@clisp.org>
11573
11574         New module 'unused-parameter'.
11575         * build-aux/unused-parameter.h: New file, extracted from earlier
11576         gnulib-common.m4.
11577         * modules/unused-parameter: New file.
11578         * lib/unistr.h: Include unused-parameter.h.
11579         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
11580         _GL_UNUSED.
11581         * modules/unistr/base (Depends-on): Add unused-parameter.
11582
11583 2009-12-24  Bruno Haible  <bruno@clisp.org>
11584
11585         Add missing dependencies to 'extensions' module.
11586         * m4/extensions.m4: Add comment.
11587         * modules/accept4 (Depends-on): Add extensions.
11588         * modules/dup3 (Depends-on): Likewise.
11589         * modules/fcntl (Depends-on): Likewise.
11590         * modules/futimens (Depends-on): Likewise.
11591         * modules/mknod (Depends-on): Likewise.
11592         * modules/pipe2 (Depends-on): Likewise.
11593         * modules/stat-time (Depends-on): Likewise.
11594         * modules/strcasestr-simple (Depends-on): Likewise.
11595         * modules/strsignal (Depends-on): Likewise.
11596         * modules/utimensat (Depends-on): Likewise.
11597         * modules/localcharset (Depends-on): Likewise. Needed because of
11598         gl_FCNTL_O_FLAGS.
11599         * modules/wcrtomb (Depends-on): Likewise. Needed because of
11600         AC_TYPE_MBSTATE_T.
11601         * modules/wcsnrtombs (Depends-on): Likewise.
11602         * modules/wcsrtombs (Depends-on): Likewise.
11603
11604 2009-12-24  Bruno Haible  <bruno@clisp.org>
11605
11606         binary-io: Avoid gcc warning due to SET_BINARY.
11607         * lib/binary-io.h (SET_BINARY): Cast the result to void.
11608         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
11609
11610 2009-12-24  Bruno Haible  <bruno@clisp.org>
11611
11612         Avoid future namespace pollution on glibc systems.
11613         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
11614         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
11615         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
11616         glibc systems.
11617
11618 2009-12-24  Bruno Haible  <bruno@clisp.org>
11619
11620         Refactor common macros used in tests.
11621         * tests/macros.h: New file.
11622         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
11623         and/or <stdlib.h>, if appropriate.
11624         (ASSERT, SIZEOF): Remove macros.
11625         * tests/test-areadlink-with-size.c: Likewise.
11626         * tests/test-areadlinkat.c: Likewise.
11627         * tests/test-areadlinkat-with-size.c: Likewise.
11628         * tests/test-argmatch.c: Likewise.
11629         * tests/test-argv-iter.c: Likewise.
11630         * tests/test-array-mergesort.c: Likewise.
11631         * tests/test-array_list.c: Likewise.
11632         * tests/test-array_oset.c: Likewise.
11633         * tests/test-avltree_list.c: Likewise.
11634         * tests/test-avltree_oset.c: Likewise.
11635         * tests/test-avltreehash_list.c: Likewise.
11636         * tests/test-base64.c: Likewise.
11637         * tests/test-binary-io.c: Likewise.
11638         * tests/test-bitrotate.c: Likewise.
11639         * tests/test-btowc.c: Likewise.
11640         * tests/test-byteswap.c: Likewise.
11641         * tests/test-c-ctype.c: Likewise.
11642         * tests/test-c-stack.c: Likewise.
11643         * tests/test-c-strcasecmp.c: Likewise.
11644         * tests/test-c-strcasestr.c: Likewise.
11645         * tests/test-c-strncasecmp.c: Likewise.
11646         * tests/test-c-strstr.c: Likewise.
11647         * tests/test-canonicalize-lgpl.c: Likewise.
11648         * tests/test-canonicalize.c: Likewise.
11649         * tests/test-carray_list.c: Likewise.
11650         * tests/test-ceilf1.c: Likewise.
11651         * tests/test-ceilf2.c: Likewise.
11652         * tests/test-ceill.c: Likewise.
11653         * tests/test-chown.c: Likewise.
11654         * tests/test-cloexec.c: Likewise.
11655         * tests/test-copy-acl.c: Likewise.
11656         * tests/test-copy-file.c: Likewise.
11657         * tests/test-count-one-bits.c: Likewise.
11658         * tests/test-dprintf-posix.c: Likewise.
11659         * tests/test-dup2.c: Likewise.
11660         * tests/test-dup3.c: Likewise.
11661         * tests/test-duplocale.c: Likewise.
11662         * tests/test-fbufmode.c: Likewise.
11663         * tests/test-fchdir.c: Likewise.
11664         * tests/test-fchownat.c: Likewise.
11665         * tests/test-fcntl-safer.c: Likewise.
11666         * tests/test-fcntl.c: Likewise.
11667         * tests/test-fdopendir.c: Likewise.
11668         * tests/test-fdutimensat.c: Likewise.
11669         * tests/test-fflush2.c: Likewise.
11670         * tests/test-file-has-acl.c: Likewise.
11671         * tests/test-filevercmp.c: Likewise.
11672         * tests/test-flock.c: Likewise.
11673         * tests/test-floorf1.c: Likewise.
11674         * tests/test-floorf2.c: Likewise.
11675         * tests/test-floorl.c: Likewise.
11676         * tests/test-fnmatch.c: Likewise.
11677         * tests/test-fopen.h: Likewise.
11678         * tests/test-fpending.c: Likewise.
11679         * tests/test-fprintf-posix.c: Likewise.
11680         * tests/test-fpurge.c: Likewise.
11681         * tests/test-freadable.c: Likewise.
11682         * tests/test-freadahead.c: Likewise.
11683         * tests/test-freading.c: Likewise.
11684         * tests/test-freadptr.c: Likewise.
11685         * tests/test-freadptr2.c: Likewise.
11686         * tests/test-freadseek.c: Likewise.
11687         * tests/test-freopen.c: Likewise.
11688         * tests/test-frexp.c: Likewise.
11689         * tests/test-frexpl.c: Likewise.
11690         * tests/test-fseek.c: Likewise.
11691         * tests/test-fseeko.c: Likewise.
11692         * tests/test-fstatat.c: Likewise.
11693         * tests/test-fstrcmp.c: Likewise.
11694         * tests/test-fsync.c: Likewise.
11695         * tests/test-ftell.c: Likewise.
11696         * tests/test-ftello.c: Likewise.
11697         * tests/test-func.c: Likewise.
11698         * tests/test-futimens.c: Likewise.
11699         * tests/test-fwritable.c: Likewise.
11700         * tests/test-fwriting.c: Likewise.
11701         * tests/test-getcwd.c: Likewise.
11702         * tests/test-getdate.c: Likewise.
11703         * tests/test-getdelim.c: Likewise.
11704         * tests/test-getdtablesize.c: Likewise.
11705         * tests/test-getgroups.c: Likewise.
11706         * tests/test-getline.c: Likewise.
11707         * tests/test-getndelim2.c: Likewise.
11708         * tests/test-glob.c: Likewise.
11709         * tests/test-hash.c: Likewise.
11710         * tests/test-i-ring.c: Likewise.
11711         * tests/test-iconv-utf.c: Likewise.
11712         * tests/test-iconv.c: Likewise.
11713         * tests/test-idpriv-drop.c: Likewise.
11714         * tests/test-idpriv-droptemp.c: Likewise.
11715         * tests/test-inet_ntop.c: Likewise.
11716         * tests/test-inet_pton.c: Likewise.
11717         * tests/test-isblank.c: Likewise.
11718         * tests/test-isfinite.c: Likewise.
11719         * tests/test-isinf.c: Likewise.
11720         * tests/test-isnan.c: Likewise.
11721         * tests/test-isnand.h: Likewise.
11722         * tests/test-isnanf.h: Likewise.
11723         * tests/test-isnanl.h: Likewise.
11724         * tests/test-lchown.c: Likewise.
11725         * tests/test-ldexpl.c: Likewise.
11726         * tests/test-link.c: Likewise.
11727         * tests/test-linkat.c: Likewise.
11728         * tests/test-linked_list.c: Likewise.
11729         * tests/test-linkedhash_list.c: Likewise.
11730         * tests/test-localename.c: Likewise.
11731         * tests/test-lseek.c: Likewise.
11732         * tests/test-lstat.c: Likewise.
11733         * tests/test-mbmemcasecmp.c: Likewise.
11734         * tests/test-mbmemcasecoll.c: Likewise.
11735         * tests/test-mbrtowc.c: Likewise.
11736         * tests/test-mbscasecmp.c: Likewise.
11737         * tests/test-mbscasestr1.c: Likewise.
11738         * tests/test-mbscasestr2.c: Likewise.
11739         * tests/test-mbscasestr3.c: Likewise.
11740         * tests/test-mbscasestr4.c: Likewise.
11741         * tests/test-mbschr.c: Likewise.
11742         * tests/test-mbscspn.c: Likewise.
11743         * tests/test-mbsinit.c: Likewise.
11744         * tests/test-mbsncasecmp.c: Likewise.
11745         * tests/test-mbsnrtowcs.c: Likewise.
11746         * tests/test-mbspbrk.c: Likewise.
11747         * tests/test-mbspcasecmp.c: Likewise.
11748         * tests/test-mbsrchr.c: Likewise.
11749         * tests/test-mbsrtowcs.c: Likewise.
11750         * tests/test-mbsspn.c: Likewise.
11751         * tests/test-mbsstr1.c: Likewise.
11752         * tests/test-mbsstr2.c: Likewise.
11753         * tests/test-mbsstr3.c: Likewise.
11754         * tests/test-memchr.c: Likewise.
11755         * tests/test-memchr2.c: Likewise.
11756         * tests/test-memcmp.c: Likewise.
11757         * tests/test-memmem.c: Likewise.
11758         * tests/test-memrchr.c: Likewise.
11759         * tests/test-mkdir.c: Likewise.
11760         * tests/test-mkdirat.c: Likewise.
11761         * tests/test-mkfifo.c: Likewise.
11762         * tests/test-mkfifoat.c: Likewise.
11763         * tests/test-mknod.c: Likewise.
11764         * tests/test-nanosleep.c: Likewise.
11765         * tests/test-nl_langinfo.c: Likewise.
11766         * tests/test-obstack-printf.c: Likewise.
11767         * tests/test-open.c: Likewise.
11768         * tests/test-openat.c: Likewise.
11769         * tests/test-pipe-filter-gi1.c: Likewise.
11770         * tests/test-pipe-filter-gi2-main.c: Likewise.
11771         * tests/test-pipe-filter-ii1.c: Likewise.
11772         * tests/test-pipe-filter-ii2-main.c: Likewise.
11773         * tests/test-pipe2.c: Likewise.
11774         * tests/test-popen.h: Likewise.
11775         * tests/test-posixtm.c: Likewise.
11776         * tests/test-pread.c: Likewise.
11777         * tests/test-printf-frexp.c: Likewise.
11778         * tests/test-printf-frexpl.c: Likewise.
11779         * tests/test-printf-posix.c: Likewise.
11780         * tests/test-priv-set.c: Likewise.
11781         * tests/test-quotearg.c: Likewise.
11782         * tests/test-random_r.c: Likewise.
11783         * tests/test-rawmemchr.c: Likewise.
11784         * tests/test-rbtree_list.c: Likewise.
11785         * tests/test-rbtree_oset.c: Likewise.
11786         * tests/test-rbtreehash_list.c: Likewise.
11787         * tests/test-readlink.c: Likewise.
11788         * tests/test-remove.c: Likewise.
11789         * tests/test-rename.c: Likewise.
11790         * tests/test-renameat.c: Likewise.
11791         * tests/test-rmdir.c: Likewise.
11792         * tests/test-round1.c: Likewise.
11793         * tests/test-roundf1.c: Likewise.
11794         * tests/test-roundl.c: Likewise.
11795         * tests/test-safe-alloc.c: Likewise.
11796         * tests/test-sameacls.c: Likewise.
11797         * tests/test-set-mode-acl.c: Likewise.
11798         * tests/test-setenv.c: Likewise.
11799         * tests/test-sigaction.c: Likewise.
11800         * tests/test-signbit.c: Likewise.
11801         * tests/test-sleep.c: Likewise.
11802         * tests/test-snprintf-posix.c: Likewise.
11803         * tests/test-snprintf.c: Likewise.
11804         * tests/test-sprintf-posix.c: Likewise.
11805         * tests/test-stat-time.c: Likewise.
11806         * tests/test-stat.c: Likewise.
11807         * tests/test-strcasestr.c: Likewise.
11808         * tests/test-strchrnul.c: Likewise.
11809         * tests/test-strerror.c: Likewise.
11810         * tests/test-striconv.c: Likewise.
11811         * tests/test-striconveh.c: Likewise.
11812         * tests/test-striconveha.c: Likewise.
11813         * tests/test-strsignal.c: Likewise.
11814         * tests/test-strstr.c: Likewise.
11815         * tests/test-strtod.c: Likewise.
11816         * tests/test-strverscmp.c: Likewise.
11817         * tests/test-symlink.c: Likewise.
11818         * tests/test-symlinkat.c: Likewise.
11819         * tests/test-trunc1.c: Likewise.
11820         * tests/test-trunc2.c: Likewise.
11821         * tests/test-truncf1.c: Likewise.
11822         * tests/test-truncf2.c: Likewise.
11823         * tests/test-truncl.c: Likewise.
11824         * tests/test-uname.c: Likewise.
11825         * tests/test-unlink.c: Likewise.
11826         * tests/test-unlinkat.c: Likewise.
11827         * tests/test-unsetenv.c: Likewise.
11828         * tests/test-usleep.c: Likewise.
11829         * tests/test-utimens.c: Likewise.
11830         * tests/test-utimensat.c: Likewise.
11831         * tests/test-vasnprintf-posix.c: Likewise.
11832         * tests/test-vasnprintf-posix2.c: Likewise.
11833         * tests/test-vasnprintf.c: Likewise.
11834         * tests/test-vasprintf-posix.c: Likewise.
11835         * tests/test-vasprintf.c: Likewise.
11836         * tests/test-vdprintf-posix.c: Likewise.
11837         * tests/test-vfprintf-posix.c: Likewise.
11838         * tests/test-vprintf-posix.c: Likewise.
11839         * tests/test-vsnprintf-posix.c: Likewise.
11840         * tests/test-vsnprintf.c: Likewise.
11841         * tests/test-vsprintf-posix.c: Likewise.
11842         * tests/test-wcrtomb.c: Likewise.
11843         * tests/test-wcsnrtombs.c: Likewise.
11844         * tests/test-wcsrtombs.c: Likewise.
11845         * tests/test-wctype.c: Likewise.
11846         * tests/test-wcwidth.c: Likewise.
11847         * tests/test-xfprintf-posix.c: Likewise.
11848         * tests/test-xmemdup0.c: Likewise.
11849         * tests/test-xprintf-posix.c: Likewise.
11850         * tests/test-xvasprintf.c: Likewise.
11851         * tests/unicase/test-locale-language.c: Likewise.
11852         * tests/unicase/test-mapping-part1.h: Likewise.
11853         * tests/unicase/test-predicate-part1.h: Likewise.
11854         * tests/unicase/test-u8-casecmp.c: Likewise.
11855         * tests/unicase/test-u8-casecoll.c: Likewise.
11856         * tests/unicase/test-u8-casefold.c: Likewise.
11857         * tests/unicase/test-u8-is-cased.c: Likewise.
11858         * tests/unicase/test-u8-is-casefolded.c: Likewise.
11859         * tests/unicase/test-u8-is-lowercase.c: Likewise.
11860         * tests/unicase/test-u8-is-titlecase.c: Likewise.
11861         * tests/unicase/test-u8-is-uppercase.c: Likewise.
11862         * tests/unicase/test-u8-tolower.c: Likewise.
11863         * tests/unicase/test-u8-totitle.c: Likewise.
11864         * tests/unicase/test-u8-toupper.c: Likewise.
11865         * tests/unicase/test-u16-casecmp.c: Likewise.
11866         * tests/unicase/test-u16-casecoll.c: Likewise.
11867         * tests/unicase/test-u16-casefold.c: Likewise.
11868         * tests/unicase/test-u16-is-cased.c: Likewise.
11869         * tests/unicase/test-u16-is-casefolded.c: Likewise.
11870         * tests/unicase/test-u16-is-lowercase.c: Likewise.
11871         * tests/unicase/test-u16-is-titlecase.c: Likewise.
11872         * tests/unicase/test-u16-is-uppercase.c: Likewise.
11873         * tests/unicase/test-u16-tolower.c: Likewise.
11874         * tests/unicase/test-u16-totitle.c: Likewise.
11875         * tests/unicase/test-u16-toupper.c: Likewise.
11876         * tests/unicase/test-u32-casecmp.c: Likewise.
11877         * tests/unicase/test-u32-casecoll.c: Likewise.
11878         * tests/unicase/test-u32-casefold.c: Likewise.
11879         * tests/unicase/test-u32-is-cased.c: Likewise.
11880         * tests/unicase/test-u32-is-casefolded.c: Likewise.
11881         * tests/unicase/test-u32-is-lowercase.c: Likewise.
11882         * tests/unicase/test-u32-is-titlecase.c: Likewise.
11883         * tests/unicase/test-u32-is-uppercase.c: Likewise.
11884         * tests/unicase/test-u32-tolower.c: Likewise.
11885         * tests/unicase/test-u32-totitle.c: Likewise.
11886         * tests/unicase/test-u32-toupper.c: Likewise.
11887         * tests/unicase/test-ulc-casecmp.c: Likewise.
11888         * tests/unicase/test-ulc-casecoll.c: Likewise.
11889         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
11890         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
11891         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
11892         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
11893         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
11894         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
11895         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
11896         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
11897         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
11898         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
11899         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
11900         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
11901         * tests/unictype/test-bidi_byname.c: Likewise.
11902         * tests/unictype/test-bidi_name.c: Likewise.
11903         * tests/unictype/test-bidi_of.c: Likewise.
11904         * tests/unictype/test-bidi_test.c: Likewise.
11905         * tests/unictype/test-block_list.c: Likewise.
11906         * tests/unictype/test-block_of.c: Likewise.
11907         * tests/unictype/test-block_test.c: Likewise.
11908         * tests/unictype/test-categ_and.c: Likewise.
11909         * tests/unictype/test-categ_and_not.c: Likewise.
11910         * tests/unictype/test-categ_byname.c: Likewise.
11911         * tests/unictype/test-categ_name.c: Likewise.
11912         * tests/unictype/test-categ_none.c: Likewise.
11913         * tests/unictype/test-categ_of.c: Likewise.
11914         * tests/unictype/test-categ_or.c: Likewise.
11915         * tests/unictype/test-categ_test_withtable.c: Likewise.
11916         * tests/unictype/test-combining.c: Likewise.
11917         * tests/unictype/test-decdigit.c: Likewise.
11918         * tests/unictype/test-digit.c: Likewise.
11919         * tests/unictype/test-mirror.c: Likewise.
11920         * tests/unictype/test-numeric.c: Likewise.
11921         * tests/unictype/test-pr_byname.c: Likewise.
11922         * tests/unictype/test-pr_test.c: Likewise.
11923         * tests/unictype/test-predicate-part1.h: Likewise.
11924         * tests/unictype/test-scripts.c: Likewise.
11925         * tests/unictype/test-sy_c_ident.c: Likewise.
11926         * tests/unictype/test-sy_java_ident.c: Likewise.
11927         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
11928         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
11929         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
11930         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
11931         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
11932         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
11933         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
11934         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
11935         * tests/uninorm/test-canonical-decomposition.c: Likewise.
11936         * tests/uninorm/test-compat-decomposition.c: Likewise.
11937         * tests/uninorm/test-composition.c: Likewise.
11938         * tests/uninorm/test-decomposing-form.c: Likewise.
11939         * tests/uninorm/test-decomposition.c: Likewise.
11940         * tests/uninorm/test-u8-nfc.c: Likewise.
11941         * tests/uninorm/test-u8-nfd.c: Likewise.
11942         * tests/uninorm/test-u8-nfkc.c: Likewise.
11943         * tests/uninorm/test-u8-nfkd.c: Likewise.
11944         * tests/uninorm/test-u8-normcmp.c: Likewise.
11945         * tests/uninorm/test-u8-normcoll.c: Likewise.
11946         * tests/uninorm/test-u16-nfc.c: Likewise.
11947         * tests/uninorm/test-u16-nfd.c: Likewise.
11948         * tests/uninorm/test-u16-nfkc.c: Likewise.
11949         * tests/uninorm/test-u16-nfkd.c: Likewise.
11950         * tests/uninorm/test-u16-normcmp.c: Likewise.
11951         * tests/uninorm/test-u16-normcoll.c: Likewise.
11952         * tests/uninorm/test-u32-nfc.c: Likewise.
11953         * tests/uninorm/test-u32-nfd.c: Likewise.
11954         * tests/uninorm/test-u32-nfkc.c: Likewise.
11955         * tests/uninorm/test-u32-nfkd.c: Likewise.
11956         * tests/uninorm/test-u32-normalize-big.c: Likewise.
11957         * tests/uninorm/test-u32-normcmp.c: Likewise.
11958         * tests/uninorm/test-u32-normcoll.c: Likewise.
11959         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
11960         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
11961         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
11962         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
11963         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
11964         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
11965         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
11966         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
11967         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
11968         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
11969         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
11970         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
11971         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
11972         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
11973         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
11974         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
11975         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
11976         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
11977         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
11978         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
11979         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
11980         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
11981         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
11982         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
11983         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
11984         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
11985         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
11986         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
11987         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
11988         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
11989         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
11990         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
11991         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
11992         * tests/uniwidth/test-u8-strwidth.c: Likewise.
11993         * tests/uniwidth/test-u8-width.c: Likewise.
11994         * tests/uniwidth/test-u16-strwidth.c: Likewise.
11995         * tests/uniwidth/test-u16-width.c: Likewise.
11996         * tests/uniwidth/test-u32-strwidth.c: Likewise.
11997         * tests/uniwidth/test-u32-width.c: Likewise.
11998         * tests/uniwidth/test-uc_width.c: Likewise.
11999         * tests/uniwidth/test-uc_width2.c: Likewise.
12000         * modules/acl-tests (Files): Add tests/macros.h.
12001         * modules/areadlink-tests (Files): Likewise.
12002         * modules/areadlink-with-size-tests (Files): Likewise.
12003         * modules/areadlinkat-tests (Files): Likewise.
12004         * modules/areadlinkat-with-size-tests (Files): Likewise.
12005         * modules/argmatch-tests (Files): Likewise.
12006         * modules/argv-iter-tests (Files): Likewise.
12007         * modules/array-list-tests (Files): Likewise.
12008         * modules/array-mergesort-tests (Files): Likewise.
12009         * modules/array-oset-tests (Files): Likewise.
12010         * modules/avltree-list-tests (Files): Likewise.
12011         * modules/avltree-oset-tests (Files): Likewise.
12012         * modules/avltreehash-list-tests (Files): Likewise.
12013         * modules/base64-tests (Files): Likewise.
12014         * modules/binary-io-tests (Files): Likewise.
12015         * modules/bitrotate-tests (Files): Likewise.
12016         * modules/btowc-tests (Files): Likewise.
12017         * modules/byteswap-tests (Files): Likewise.
12018         * modules/c-ctype-tests (Files): Likewise.
12019         * modules/c-stack-tests (Files): Likewise.
12020         * modules/c-strcase-tests (Files): Likewise.
12021         * modules/c-strcasestr-tests (Files): Likewise.
12022         * modules/c-strstr-tests (Files): Likewise.
12023         * modules/canonicalize-lgpl-tests (Files): Likewise.
12024         * modules/canonicalize-tests (Files): Likewise.
12025         * modules/carray-list-tests (Files): Likewise.
12026         * modules/ceilf-tests (Files): Likewise.
12027         * modules/ceill-tests (Files): Likewise.
12028         * modules/chown-tests (Files): Likewise.
12029         * modules/cloexec-tests (Files): Likewise.
12030         * modules/copy-file-tests (Files): Likewise.
12031         * modules/count-one-bits-tests (Files): Likewise.
12032         * modules/dprintf-posix-tests (Files): Likewise.
12033         * modules/dup2-tests (Files): Likewise.
12034         * modules/dup3-tests (Files): Likewise.
12035         * modules/duplocale-tests (Files): Likewise.
12036         * modules/fbufmode-tests (Files): Likewise.
12037         * modules/fchdir-tests (Files): Likewise.
12038         * modules/fcntl-safer-tests (Files): Likewise.
12039         * modules/fcntl-tests (Files): Likewise.
12040         * modules/fdopendir-tests (Files): Likewise.
12041         * modules/fdutimensat-tests (Files): Likewise.
12042         * modules/fflush-tests (Files): Likewise.
12043         * modules/filevercmp-tests (Files): Likewise.
12044         * modules/flock-tests (Files): Likewise.
12045         * modules/floorf-tests (Files): Likewise.
12046         * modules/floorl-tests (Files): Likewise.
12047         * modules/fnmatch-tests (Files): Likewise.
12048         * modules/fopen-safer-tests (Files): Likewise.
12049         * modules/fopen-tests (Files): Likewise.
12050         * modules/fpending-tests (Files): Likewise.
12051         * modules/fprintf-posix-tests (Files): Likewise.
12052         * modules/fpurge-tests (Files): Likewise.
12053         * modules/freadable-tests (Files): Likewise.
12054         * modules/freadahead-tests (Files): Likewise.
12055         * modules/freading-tests (Files): Likewise.
12056         * modules/freadptr-tests (Files): Likewise.
12057         * modules/freadseek-tests (Files): Likewise.
12058         * modules/freopen-tests (Files): Likewise.
12059         * modules/frexp-nolibm-tests (Files): Likewise.
12060         * modules/frexp-tests (Files): Likewise.
12061         * modules/frexpl-nolibm-tests (Files): Likewise.
12062         * modules/frexpl-tests (Files): Likewise.
12063         * modules/fseek-tests (Files): Likewise.
12064         * modules/fseeko-tests (Files): Likewise.
12065         * modules/fstrcmp-tests (Files): Likewise.
12066         * modules/fsync-tests (Files): Likewise.
12067         * modules/ftell-tests (Files): Likewise.
12068         * modules/ftello-tests (Files): Likewise.
12069         * modules/func-tests (Files): Likewise.
12070         * modules/futimens-tests (Files): Likewise.
12071         * modules/fwritable-tests (Files): Likewise.
12072         * modules/fwriting-tests (Files): Likewise.
12073         * modules/getcwd-tests (Files): Likewise.
12074         * modules/getdate-tests (Files): Likewise.
12075         * modules/getdelim-tests (Files): Likewise.
12076         * modules/getdtablesize-tests (Files): Likewise.
12077         * modules/getgroups-tests (Files): Likewise.
12078         * modules/getline-tests (Files): Likewise.
12079         * modules/getndelim2-tests (Files): Likewise.
12080         * modules/glob-tests (Files): Likewise.
12081         * modules/hash-tests (Files): Likewise.
12082         * modules/i-ring-tests (Files): Likewise.
12083         * modules/iconv-tests (Files): Likewise.
12084         * modules/iconv_open-utf-tests (Files): Likewise.
12085         * modules/idpriv-drop-tests (Files): Likewise.
12086         * modules/idpriv-droptemp-tests (Files): Likewise.
12087         * modules/inet_ntop-tests (Files): Likewise.
12088         * modules/inet_pton-tests (Files): Likewise.
12089         * modules/isblank-tests (Files): Likewise.
12090         * modules/isfinite-tests (Files): Likewise.
12091         * modules/isinf-tests (Files): Likewise.
12092         * modules/isnan-tests (Files): Likewise.
12093         * modules/isnand-nolibm-tests (Files): Likewise.
12094         * modules/isnand-tests (Files): Likewise.
12095         * modules/isnanf-nolibm-tests (Files): Likewise.
12096         * modules/isnanf-tests (Files): Likewise.
12097         * modules/isnanl-nolibm-tests (Files): Likewise.
12098         * modules/isnanl-tests (Files): Likewise.
12099         * modules/lchown-tests (Files): Likewise.
12100         * modules/ldexpl-tests (Files): Likewise.
12101         * modules/link-tests (Files): Likewise.
12102         * modules/linkat-tests (Files): Likewise.
12103         * modules/linked-list-tests (Files): Likewise.
12104         * modules/linkedhash-list-tests (Files): Likewise.
12105         * modules/localename-tests (Files): Likewise.
12106         * modules/lseek-tests (Files): Likewise.
12107         * modules/lstat-tests (Files): Likewise.
12108         * modules/mbmemcasecmp-tests (Files): Likewise.
12109         * modules/mbmemcasecoll-tests (Files): Likewise.
12110         * modules/mbrtowc-tests (Files): Likewise.
12111         * modules/mbscasecmp-tests (Files): Likewise.
12112         * modules/mbscasestr-tests (Files): Likewise.
12113         * modules/mbschr-tests (Files): Likewise.
12114         * modules/mbscspn-tests (Files): Likewise.
12115         * modules/mbsinit-tests (Files): Likewise.
12116         * modules/mbsncasecmp-tests (Files): Likewise.
12117         * modules/mbsnrtowcs-tests (Files): Likewise.
12118         * modules/mbspbrk-tests (Files): Likewise.
12119         * modules/mbspcasecmp-tests (Files): Likewise.
12120         * modules/mbsrchr-tests (Files): Likewise.
12121         * modules/mbsrtowcs-tests (Files): Likewise.
12122         * modules/mbsspn-tests (Files): Likewise.
12123         * modules/mbsstr-tests (Files): Likewise.
12124         * modules/memchr-tests (Files): Likewise.
12125         * modules/memchr2-tests (Files): Likewise.
12126         * modules/memcmp-tests (Files): Likewise.
12127         * modules/memmem-tests (Files): Likewise.
12128         * modules/memrchr-tests (Files): Likewise.
12129         * modules/mkdir-tests (Files): Likewise.
12130         * modules/mkfifo-tests (Files): Likewise.
12131         * modules/mkfifoat-tests (Files): Likewise.
12132         * modules/mknod-tests (Files): Likewise.
12133         * modules/nanosleep-tests (Files): Likewise.
12134         * modules/nl_langinfo-tests (Files): Likewise.
12135         * modules/obstack-printf-tests (Files): Likewise.
12136         * modules/open-tests (Files): Likewise.
12137         * modules/openat-tests (Files): Likewise.
12138         * modules/pipe-filter-gi-tests (Files): Likewise.
12139         * modules/pipe-filter-ii-tests (Files): Likewise.
12140         * modules/pipe2-tests (Files): Likewise.
12141         * modules/popen-safer-tests (Files): Likewise.
12142         * modules/popen-tests (Files): Likewise.
12143         * modules/posixtm-tests (Files): Likewise.
12144         * modules/pread-tests (Files): Likewise.
12145         * modules/printf-frexp-tests (Files): Likewise.
12146         * modules/printf-frexpl-tests (Files): Likewise.
12147         * modules/printf-posix-tests (Files): Likewise.
12148         * modules/priv-set-tests (Files): Likewise.
12149         * modules/quotearg-tests (Files): Likewise.
12150         * modules/random_r-tests (Files): Likewise.
12151         * modules/rawmemchr-tests (Files): Likewise.
12152         * modules/rbtree-list-tests (Files): Likewise.
12153         * modules/rbtree-oset-tests (Files): Likewise.
12154         * modules/rbtreehash-list-tests (Files): Likewise.
12155         * modules/readlink-tests (Files): Likewise.
12156         * modules/remove-tests (Files): Likewise.
12157         * modules/rename-tests (Files): Likewise.
12158         * modules/renameat-tests (Files): Likewise.
12159         * modules/rmdir-tests (Files): Likewise.
12160         * modules/round-tests (Files): Likewise.
12161         * modules/roundf-tests (Files): Likewise.
12162         * modules/roundl-tests (Files): Likewise.
12163         * modules/safe-alloc-tests (Files): Likewise.
12164         * modules/setenv-tests (Files): Likewise.
12165         * modules/sigaction-tests (Files): Likewise.
12166         * modules/signbit-tests (Files): Likewise.
12167         * modules/sleep-tests (Files): Likewise.
12168         * modules/snprintf-posix-tests (Files): Likewise.
12169         * modules/snprintf-tests (Files): Likewise.
12170         * modules/sprintf-posix-tests (Files): Likewise.
12171         * modules/stat-tests (Files): Likewise.
12172         * modules/stat-time-tests (Files): Likewise.
12173         * modules/strcasestr-tests (Files): Likewise.
12174         * modules/strchrnul-tests (Files): Likewise.
12175         * modules/strerror-tests (Files): Likewise.
12176         * modules/striconv-tests (Files): Likewise.
12177         * modules/striconveh-tests (Files): Likewise.
12178         * modules/striconveha-tests (Files): Likewise.
12179         * modules/strsignal-tests (Files): Likewise.
12180         * modules/strstr-tests (Files): Likewise.
12181         * modules/strtod-tests (Files): Likewise.
12182         * modules/strverscmp-tests (Files): Likewise.
12183         * modules/symlink-tests (Files): Likewise.
12184         * modules/symlinkat-tests (Files): Likewise.
12185         * modules/trunc-tests (Files): Likewise.
12186         * modules/truncf-tests (Files): Likewise.
12187         * modules/truncl-tests (Files): Likewise.
12188         * modules/uname-tests (Files): Likewise.
12189         * modules/unicase/cased-tests (Files): Likewise.
12190         * modules/unicase/ignorable-tests (Files): Likewise.
12191         * modules/unicase/locale-language-tests (Files): Likewise.
12192         * modules/unicase/tolower-tests (Files): Likewise.
12193         * modules/unicase/totitle-tests (Files): Likewise.
12194         * modules/unicase/toupper-tests (Files): Likewise.
12195         * modules/unicase/u8-casecmp-tests (Files): Likewise.
12196         * modules/unicase/u8-casecoll-tests (Files): Likewise.
12197         * modules/unicase/u8-casefold-tests (Files): Likewise.
12198         * modules/unicase/u8-is-cased-tests (Files): Likewise.
12199         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
12200         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
12201         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
12202         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
12203         * modules/unicase/u8-tolower-tests (Files): Likewise.
12204         * modules/unicase/u8-totitle-tests (Files): Likewise.
12205         * modules/unicase/u8-toupper-tests (Files): Likewise.
12206         * modules/unicase/u16-casecmp-tests (Files): Likewise.
12207         * modules/unicase/u16-casecoll-tests (Files): Likewise.
12208         * modules/unicase/u16-casefold-tests (Files): Likewise.
12209         * modules/unicase/u16-is-cased-tests (Files): Likewise.
12210         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
12211         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
12212         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
12213         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
12214         * modules/unicase/u16-tolower-tests (Files): Likewise.
12215         * modules/unicase/u16-totitle-tests (Files): Likewise.
12216         * modules/unicase/u16-toupper-tests (Files): Likewise.
12217         * modules/unicase/u32-casecmp-tests (Files): Likewise.
12218         * modules/unicase/u32-casecoll-tests (Files): Likewise.
12219         * modules/unicase/u32-casefold-tests (Files): Likewise.
12220         * modules/unicase/u32-is-cased-tests (Files): Likewise.
12221         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
12222         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
12223         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
12224         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
12225         * modules/unicase/u32-tolower-tests (Files): Likewise.
12226         * modules/unicase/u32-totitle-tests (Files): Likewise.
12227         * modules/unicase/u32-toupper-tests (Files): Likewise.
12228         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
12229         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
12230         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
12231         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
12232         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
12233         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
12234         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
12235         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
12236         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
12237         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
12238         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
12239         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
12240         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
12241         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
12242         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
12243         * modules/unictype/bidicategory-name-tests (Files): Likewise.
12244         * modules/unictype/bidicategory-of-tests (Files): Likewise.
12245         * modules/unictype/bidicategory-test-tests (Files): Likewise.
12246         * modules/unictype/block-list-tests (Files): Likewise.
12247         * modules/unictype/block-of-tests (Files): Likewise.
12248         * modules/unictype/block-test-tests (Files): Likewise.
12249         * modules/unictype/category-C-tests (Files): Likewise.
12250         * modules/unictype/category-Cc-tests (Files): Likewise.
12251         * modules/unictype/category-Cf-tests (Files): Likewise.
12252         * modules/unictype/category-Cn-tests (Files): Likewise.
12253         * modules/unictype/category-Co-tests (Files): Likewise.
12254         * modules/unictype/category-Cs-tests (Files): Likewise.
12255         * modules/unictype/category-L-tests (Files): Likewise.
12256         * modules/unictype/category-Ll-tests (Files): Likewise.
12257         * modules/unictype/category-Lm-tests (Files): Likewise.
12258         * modules/unictype/category-Lo-tests (Files): Likewise.
12259         * modules/unictype/category-Lt-tests (Files): Likewise.
12260         * modules/unictype/category-Lu-tests (Files): Likewise.
12261         * modules/unictype/category-M-tests (Files): Likewise.
12262         * modules/unictype/category-Mc-tests (Files): Likewise.
12263         * modules/unictype/category-Me-tests (Files): Likewise.
12264         * modules/unictype/category-Mn-tests (Files): Likewise.
12265         * modules/unictype/category-N-tests (Files): Likewise.
12266         * modules/unictype/category-Nd-tests (Files): Likewise.
12267         * modules/unictype/category-Nl-tests (Files): Likewise.
12268         * modules/unictype/category-No-tests (Files): Likewise.
12269         * modules/unictype/category-P-tests (Files): Likewise.
12270         * modules/unictype/category-Pc-tests (Files): Likewise.
12271         * modules/unictype/category-Pd-tests (Files): Likewise.
12272         * modules/unictype/category-Pe-tests (Files): Likewise.
12273         * modules/unictype/category-Pf-tests (Files): Likewise.
12274         * modules/unictype/category-Pi-tests (Files): Likewise.
12275         * modules/unictype/category-Po-tests (Files): Likewise.
12276         * modules/unictype/category-Ps-tests (Files): Likewise.
12277         * modules/unictype/category-S-tests (Files): Likewise.
12278         * modules/unictype/category-Sc-tests (Files): Likewise.
12279         * modules/unictype/category-Sk-tests (Files): Likewise.
12280         * modules/unictype/category-Sm-tests (Files): Likewise.
12281         * modules/unictype/category-So-tests (Files): Likewise.
12282         * modules/unictype/category-Z-tests (Files): Likewise.
12283         * modules/unictype/category-Zl-tests (Files): Likewise.
12284         * modules/unictype/category-Zp-tests (Files): Likewise.
12285         * modules/unictype/category-Zs-tests (Files): Likewise.
12286         * modules/unictype/category-and-not-tests (Files): Likewise.
12287         * modules/unictype/category-and-tests (Files): Likewise.
12288         * modules/unictype/category-byname-tests (Files): Likewise.
12289         * modules/unictype/category-name-tests (Files): Likewise.
12290         * modules/unictype/category-none-tests (Files): Likewise.
12291         * modules/unictype/category-of-tests (Files): Likewise.
12292         * modules/unictype/category-or-tests (Files): Likewise.
12293         * modules/unictype/category-test-withtable-tests (Files): Likewise.
12294         * modules/unictype/combining-class-tests (Files): Likewise.
12295         * modules/unictype/ctype-alnum-tests (Files): Likewise.
12296         * modules/unictype/ctype-alpha-tests (Files): Likewise.
12297         * modules/unictype/ctype-blank-tests (Files): Likewise.
12298         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
12299         * modules/unictype/ctype-digit-tests (Files): Likewise.
12300         * modules/unictype/ctype-graph-tests (Files): Likewise.
12301         * modules/unictype/ctype-lower-tests (Files): Likewise.
12302         * modules/unictype/ctype-print-tests (Files): Likewise.
12303         * modules/unictype/ctype-punct-tests (Files): Likewise.
12304         * modules/unictype/ctype-space-tests (Files): Likewise.
12305         * modules/unictype/ctype-upper-tests (Files): Likewise.
12306         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
12307         * modules/unictype/decimal-digit-tests (Files): Likewise.
12308         * modules/unictype/digit-tests (Files): Likewise.
12309         * modules/unictype/mirror-tests (Files): Likewise.
12310         * modules/unictype/numeric-tests (Files): Likewise.
12311         * modules/unictype/property-alphabetic-tests (Files): Likewise.
12312         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
12313         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
12314         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
12315         Likewise.
12316         * modules/unictype/property-bidi-block-separator-tests (Files):
12317         Likewise.
12318         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
12319         Likewise.
12320         * modules/unictype/property-bidi-common-separator-tests (Files):
12321         Likewise.
12322         * modules/unictype/property-bidi-control-tests (Files): Likewise.
12323         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
12324         Likewise.
12325         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
12326         Likewise.
12327         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
12328         Likewise.
12329         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
12330         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
12331         Likewise.
12332         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
12333         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
12334         Likewise.
12335         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
12336         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
12337         * modules/unictype/property-bidi-segment-separator-tests (Files):
12338         Likewise.
12339         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
12340         * modules/unictype/property-byname-tests (Files): Likewise.
12341         * modules/unictype/property-combining-tests (Files): Likewise.
12342         * modules/unictype/property-composite-tests (Files): Likewise.
12343         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
12344         * modules/unictype/property-dash-tests (Files): Likewise.
12345         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
12346         * modules/unictype/property-default-ignorable-code-point-tests (Files):
12347         Likewise.
12348         * modules/unictype/property-deprecated-tests (Files): Likewise.
12349         * modules/unictype/property-diacritic-tests (Files): Likewise.
12350         * modules/unictype/property-extender-tests (Files): Likewise.
12351         * modules/unictype/property-format-control-tests (Files): Likewise.
12352         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
12353         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
12354         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
12355         * modules/unictype/property-hex-digit-tests (Files): Likewise.
12356         * modules/unictype/property-hyphen-tests (Files): Likewise.
12357         * modules/unictype/property-id-continue-tests (Files): Likewise.
12358         * modules/unictype/property-id-start-tests (Files): Likewise.
12359         * modules/unictype/property-ideographic-tests (Files): Likewise.
12360         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
12361         * modules/unictype/property-ids-trinary-operator-tests (Files):
12362         Likewise.
12363         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
12364         * modules/unictype/property-iso-control-tests (Files): Likewise.
12365         * modules/unictype/property-join-control-tests (Files): Likewise.
12366         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
12367         * modules/unictype/property-line-separator-tests (Files): Likewise.
12368         * modules/unictype/property-logical-order-exception-tests (Files):
12369         Likewise.
12370         * modules/unictype/property-lowercase-tests (Files): Likewise.
12371         * modules/unictype/property-math-tests (Files): Likewise.
12372         * modules/unictype/property-non-break-tests (Files): Likewise.
12373         * modules/unictype/property-not-a-character-tests (Files): Likewise.
12374         * modules/unictype/property-numeric-tests (Files): Likewise.
12375         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
12376         * modules/unictype/property-other-default-ignorable-code-point-tests
12377         (Files): Likewise.
12378         * modules/unictype/property-other-grapheme-extend-tests (Files):
12379         Likewise.
12380         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
12381         * modules/unictype/property-other-id-start-tests (Files): Likewise.
12382         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
12383         * modules/unictype/property-other-math-tests (Files): Likewise.
12384         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
12385         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
12386         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
12387         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
12388         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
12389         * modules/unictype/property-private-use-tests (Files): Likewise.
12390         * modules/unictype/property-punctuation-tests (Files): Likewise.
12391         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
12392         * modules/unictype/property-radical-tests (Files): Likewise.
12393         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
12394         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
12395         * modules/unictype/property-space-tests (Files): Likewise.
12396         * modules/unictype/property-terminal-punctuation-tests (Files):
12397         Likewise.
12398         * modules/unictype/property-test-tests (Files): Likewise.
12399         * modules/unictype/property-titlecase-tests (Files): Likewise.
12400         * modules/unictype/property-unassigned-code-value-tests (Files):
12401         Likewise.
12402         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
12403         * modules/unictype/property-uppercase-tests (Files): Likewise.
12404         * modules/unictype/property-variation-selector-tests (Files): Likewise.
12405         * modules/unictype/property-white-space-tests (Files): Likewise.
12406         * modules/unictype/property-xid-continue-tests (Files): Likewise.
12407         * modules/unictype/property-xid-start-tests (Files): Likewise.
12408         * modules/unictype/property-zero-width-tests (Files): Likewise.
12409         * modules/unictype/scripts-tests (Files): Likewise.
12410         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
12411         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
12412         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
12413         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
12414         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
12415         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
12416         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
12417         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
12418         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
12419         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
12420         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
12421         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
12422         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
12423         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
12424         * modules/uninorm/composition-tests (Files): Likewise.
12425         * modules/uninorm/decomposing-form-tests (Files): Likewise.
12426         * modules/uninorm/decomposition-tests (Files): Likewise.
12427         * modules/uninorm/filter-tests (Files): Likewise.
12428         * modules/uninorm/nfc-tests (Files): Likewise.
12429         * modules/uninorm/nfd-tests (Files): Likewise.
12430         * modules/uninorm/nfkc-tests (Files): Likewise.
12431         * modules/uninorm/nfkd-tests (Files): Likewise.
12432         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
12433         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
12434         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
12435         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
12436         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
12437         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
12438         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
12439         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
12440         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
12441         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
12442         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
12443         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
12444         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
12445         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
12446         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
12447         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
12448         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
12449         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
12450         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
12451         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
12452         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
12453         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
12454         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
12455         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
12456         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
12457         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
12458         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
12459         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
12460         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
12461         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
12462         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
12463         * modules/uniwidth/u8-width-tests (Files): Likewise.
12464         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
12465         * modules/uniwidth/u16-width-tests (Files): Likewise.
12466         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
12467         * modules/uniwidth/u32-width-tests (Files): Likewise.
12468         * modules/uniwidth/width-tests (Files): Likewise.
12469         * modules/unlink-tests (Files): Likewise.
12470         * modules/unsetenv-tests (Files): Likewise.
12471         * modules/usleep-tests (Files): Likewise.
12472         * modules/utimens-tests (Files): Likewise.
12473         * modules/utimensat-tests (Files): Likewise.
12474         * modules/vasnprintf-posix-tests (Files): Likewise.
12475         * modules/vasnprintf-tests (Files): Likewise.
12476         * modules/vasprintf-posix-tests (Files): Likewise.
12477         * modules/vasprintf-tests (Files): Likewise.
12478         * modules/vdprintf-posix-tests (Files): Likewise.
12479         * modules/vfprintf-posix-tests (Files): Likewise.
12480         * modules/vprintf-posix-tests (Files): Likewise.
12481         * modules/vsnprintf-posix-tests (Files): Likewise.
12482         * modules/vsnprintf-tests (Files): Likewise.
12483         * modules/vsprintf-posix-tests (Files): Likewise.
12484         * modules/wcrtomb-tests (Files): Likewise.
12485         * modules/wcsnrtombs-tests (Files): Likewise.
12486         * modules/wcsrtombs-tests (Files): Likewise.
12487         * modules/wctype-tests (Files): Likewise.
12488         * modules/wcwidth-tests (Files): Likewise.
12489         * modules/xmemdup0-tests (Files): Likewise.
12490         * modules/xprintf-posix-tests (Files): Likewise.
12491         * modules/xvasprintf-tests (Files): Likewise.
12492
12493 2009-12-24  Eric Blake  <ebb9@byu.net>
12494
12495         test-nanosleep: fix typo
12496         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
12497         patch.
12498         Reported by Bruno Haible.
12499
12500 2009-12-24  Bruno Haible  <bruno@clisp.org>
12501
12502         Reduce namespace pollution on glibc systems.
12503         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
12504         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
12505         systems.
12506         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
12507         <getopt.h> on glibc systems.
12508         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
12509         systems.
12510         * lib/fcntl.c: Include <unistd.h> here instead.
12511
12512 2009-12-24  Bruno Haible  <bruno@clisp.org>
12513
12514         * lib/stdlib.in.h (includes): Fix typo in today's commit.
12515
12516 2009-12-24  Eric Blake  <ebb9@byu.net>
12517
12518         tests: add signature checks
12519         * tests/signature.h (SIGNATURE_CHECK): New file.
12520         * modules/atexit-tests (Files): Use it.
12521         * modules/btowc-tests (Files): Likewise.
12522         * modules/canonicalize-lgpl-tests (Files): Likewise.
12523         * modules/ceilf-tests (Files): Likewise.
12524         * modules/ceill-tests (Files): Likewise.
12525         * modules/chown-tests (Files): Likewise.
12526         * modules/dprintf-posix-tests (Files): Likewise.
12527         * modules/dup2-tests (Files): Likewise.
12528         * modules/dup3-tests (Files): Likewise.
12529         * modules/duplocale-tests (Files): Likewise.
12530         * modules/fchdir-tests (Files): Likewise.
12531         * modules/fcntl-tests (Files): Likewise.
12532         * modules/fdopendir-tests (Files): Likewise.
12533         * modules/fflush-tests (Files): Likewise.
12534         * modules/flock-tests (Files): Likewise.
12535         * modules/floorf-tests (Files): Likewise.
12536         * modules/floorl-tests (Files): Likewise.
12537         * modules/fnmatch-tests (Files): Likewise.
12538         * modules/fopen-tests (Files): Likewise.
12539         * modules/fprintf-posix-tests (Files): Likewise.
12540         * modules/freopen-tests (Files): Likewise.
12541         * modules/frexp-nolibm-tests (Files): Likewise.
12542         * modules/frexp-tests (Files): Likewise.
12543         * modules/frexpl-nolibm-tests (Files): Likewise.
12544         * modules/frexpl-tests (Files): Likewise.
12545         * modules/fseek-tests (Files): Likewise.
12546         * modules/fseeko-tests (Files): Likewise.
12547         * modules/fsync-tests (Files): Likewise.
12548         * modules/ftell-tests (Files): Likewise.
12549         * modules/ftello-tests (Files): Likewise.
12550         * modules/futimens-tests (Files): Likewise.
12551         * modules/getaddrinfo-tests (Files): Likewise.
12552         * modules/getcwd-tests (Files): Likewise.
12553         * modules/getdelim-tests (Files): Likewise.
12554         * modules/getdtablesize-tests (Files): Likewise.
12555         * modules/getgroups-tests (Files): Likewise.
12556         * modules/gethostname-tests (Files): Likewise.
12557         * modules/getline-tests (Files): Likewise.
12558         * modules/getopt-posix-tests (Files): Likewise.
12559         * modules/gettimeofday-tests (Files): Likewise.
12560         * modules/glob-tests (Files): Likewise.
12561         * modules/iconv-tests (Files): Likewise.
12562         * modules/inet_ntop-tests (Files): Likewise.
12563         * modules/inet_pton-tests (Files): Likewise.
12564         * modules/isblank-tests (Files): Likewise.
12565         * modules/lchown-tests (Files): Likewise.
12566         * modules/ldexpl-tests (Files): Likewise.
12567         * modules/link-tests (Files): Likewise.
12568         * modules/linkat-tests (Files): Likewise.
12569         * modules/lseek-tests (Files): Likewise.
12570         * modules/lstat-tests (Files): Likewise.
12571         * modules/mbrtowc-tests (Files): Likewise.
12572         * modules/mbsinit-tests (Files): Likewise.
12573         * modules/mbsnrtowcs-tests (Files): Likewise.
12574         * modules/mbsrtowcs-tests (Files): Likewise.
12575         * modules/memchr-tests (Files): Likewise.
12576         * modules/memcmp-tests (Files): Likewise.
12577         * modules/memmem-tests (Files): Likewise.
12578         * modules/memrchr-tests (Files): Likewise.
12579         * modules/mkdir-tests (Files): Likewise.
12580         * modules/mkfifo-tests (Files): Likewise.
12581         * modules/mkfifoat-tests (Files): Likewise.
12582         * modules/mknod-tests (Files): Likewise.
12583         * modules/nanosleep-tests (Files): Likewise.
12584         * modules/nl_langinfo-tests (Files): Likewise.
12585         * modules/obstack-printf-tests (Files): Likewise.
12586         * modules/open-tests (Files): Likewise.
12587         * modules/openat-tests (Files): Likewise.
12588         * modules/perror-tests (Files): Likewise.
12589         * modules/pipe2-tests (Files): Likewise.
12590         * modules/poll-tests (Files): Likewise.
12591         * modules/popen-tests (Files): Likewise.
12592         * modules/posix_spawn-tests (Files): Likewise.
12593         * modules/posix_spawnp-tests (Files): Likewise.
12594         * modules/pread-tests (Files): Likewise.
12595         * modules/printf-posix-tests (Files): Likewise.
12596         * modules/pty-tests (Files): Likewise.
12597         * modules/random_r-tests (Files): Likewise.
12598         * modules/rawmemchr-tests (Files): Likewise.
12599         * modules/readlink-tests (Files): Likewise.
12600         * modules/remove-tests (Files): Likewise.
12601         * modules/rename-tests (Files): Likewise.
12602         * modules/renameat-tests (Files): Likewise.
12603         * modules/rmdir-tests (Files): Likewise.
12604         * modules/round-tests (Files): Likewise.
12605         * modules/roundf-tests (Files): Likewise.
12606         * modules/roundl-tests (Files): Likewise.
12607         * modules/select-tests (Files): Likewise.
12608         * modules/setenv-tests (Files): Likewise.
12609         * modules/sigaction-tests (Files): Likewise.
12610         * modules/sleep-tests (Files): Likewise.
12611         * modules/snprintf-posix-tests (Files): Likewise.
12612         * modules/snprintf-tests (Files): Likewise.
12613         * modules/sprintf-posix-tests (Files): Likewise.
12614         * modules/stat-tests (Files): Likewise.
12615         * modules/strcasestr-tests (Files): Likewise.
12616         * modules/strchrnul-tests (Files): Likewise.
12617         * modules/strerror-tests (Files): Likewise.
12618         * modules/strsignal-tests (Files): Likewise.
12619         * modules/strstr-tests (Files): Likewise.
12620         * modules/strtod-tests (Files): Likewise.
12621         * modules/strverscmp-tests (Files): Likewise.
12622         * modules/symlink-tests (Files): Likewise.
12623         * modules/symlinkat-tests (Files): Likewise.
12624         * modules/times-tests (Files): Likewise.
12625         * modules/trunc-tests (Files): Likewise.
12626         * modules/truncf-tests (Files): Likewise.
12627         * modules/truncl-tests (Files): Likewise.
12628         * modules/tsearch-tests (Files): Likewise.
12629         * modules/uname-tests (Files): Likewise.
12630         * modules/unlink-tests (Files): Likewise.
12631         * modules/unsetenv-tests (Files): Likewise.
12632         * modules/usleep-tests (Files): Likewise.
12633         * modules/utimensat-tests (Files): Likewise.
12634         * modules/vasprintf-tests (Files): Likewise.
12635         * modules/vdprintf-posix-tests (Files): Likewise.
12636         * modules/vfprintf-posix-tests (Files): Likewise.
12637         * modules/vprintf-posix-tests (Files): Likewise.
12638         * modules/vsnprintf-posix-tests (Files): Likewise.
12639         * modules/vsnprintf-tests (Files): Likewise.
12640         * modules/vsprintf-posix-tests (Files): Likewise.
12641         * modules/wcrtomb-tests (Files): Likewise.
12642         * modules/wcsnrtombs-tests (Files): Likewise.
12643         * modules/wcsrtombs-tests (Files): Likewise.
12644         * modules/wcwidth-tests (Files): Likewise.
12645         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
12646         * tests/test-isinf.c (isinf): Likewise.
12647         * tests/test-isnan.c (isnan): Likewise.
12648         * tests/test-signbit.c (signbit): Likewise.
12649         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
12650         declaration, either as macro or with correct signature.
12651         (select): Ensure function under test is declared with correct
12652         signature in correct header.
12653         * tests/test-atexit.c (atexit): Likewise.
12654         * tests/test-btowc.c (btowc): Likewise.
12655         * tests/test-canonicalize-lgpl.c (realpath)
12656         (canonicalize_file_name): Likewise.
12657         * tests/test-ceilf1.c (ceilf): Likewise.
12658         * tests/test-ceill.c (ceill): Likewise.
12659         * tests/test-chown.c (chown): Likewise.
12660         * tests/test-dprintf-posix.c (dprintf): Likewise.
12661         * tests/test-dup2.c (dup2): Likewise.
12662         * tests/test-dup3.c (dup3): Likewise.
12663         * tests/test-duplocale.c (duplocale): Likewise.
12664         * tests/test-fchdir.c (fchdir): Likewise.
12665         * tests/test-fchownat.c (fchownat): Likewise.
12666         * tests/test-fcntl.c (fcntl): Likewise.
12667         * tests/test-fdopendir.c (fdopendir): Likewise.
12668         * tests/test-fflush.c (fflush): Likewise.
12669         * tests/test-flock.c (flock): Likewise.
12670         * tests/test-floorf1.c (floorf): Likewise.
12671         * tests/test-floorl.c (floorl): Likewise.
12672         * tests/test-fnmatch.c (fnmatch): Likewise.
12673         * tests/test-fopen.c (fopen): Likewise.
12674         * tests/test-fprintf-posix.c (fprintf): Likewise.
12675         * tests/test-freopen.c (freopen): Likewise.
12676         * tests/test-frexp.c (frexp): Likewise.
12677         * tests/test-frexpl.c (frexpl): Likewise.
12678         * tests/test-fseek.c (fseek): Likewise.
12679         * tests/test-fseeko.c (fseeko): Likewise.
12680         * tests/test-fstatat.c (fstatat): Likewise.
12681         * tests/test-fsync.c (fsync): Likewise.
12682         * tests/test-ftell.c (ftell): Likewise.
12683         * tests/test-ftello.c (ftello): Likewise.
12684         * tests/test-futimens.c (futimens): Likewise.
12685         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
12686         (gai_strerror): Likewise.
12687         * tests/test-getcwd.c (getcwd): Likewise.
12688         * tests/test-getdelim.c (getdelim): Likewise.
12689         * tests/test-getdtablesize.c (getdtablesize): Likewise.
12690         * tests/test-getgroups.c (getgroups): Likewise.
12691         * tests/test-gethostname.c (gethostname): Likewise.
12692         * tests/test-getline.c (getline): Likewise.
12693         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
12694         Likewise.
12695         * tests/test-gettimeofday.c (gettimeofday): Likewise.
12696         * tests/test-glob.c (glob, globfree): Likewise.
12697         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
12698         * tests/test-inet_ntop.c (inet_ntop): Likewise.
12699         * tests/test-inet_pton.c (inet_pton): Likewise.
12700         * tests/test-isblank.c (isblank): Likewise.
12701         * tests/test-lchown.c (lchown): Likewise.
12702         * tests/test-ldexpl.c (ldexpl): Likewise.
12703         * tests/test-link.c (link): Likewise.
12704         * tests/test-linkat.c (linkat): Likewise.
12705         * tests/test-lseek.c (lseek): Likewise.
12706         * tests/test-lstat.c (lstat): Likewise.
12707         * tests/test-mbrtowc.c (mbrtowc): Likewise.
12708         * tests/test-mbsinit.c (mbsinit): Likewise.
12709         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
12710         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
12711         * tests/test-memchr.c (memchr): Likewise.
12712         * tests/test-memcmp.c (memcmp): Likewise.
12713         * tests/test-memmem.c (memmem): Likewise.
12714         * tests/test-memrchr.c (memrchr): Likewise.
12715         * tests/test-mkdir.c (mkdir): Likewise.
12716         * tests/test-mkdirat.c (mkdirat): Likewise.
12717         * tests/test-mkfifo.c (mkfifo): Likewise.
12718         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
12719         * tests/test-mknod.c (mknod): Likewise.
12720         * tests/test-nanosleep.c (nanosleep): Likewise.
12721         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
12722         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
12723         Likewise.
12724         * tests/test-open.c (open): Likewise.
12725         * tests/test-openat.c (openat): Likewise.
12726         * tests/test-perror.c (perror): Likewise.
12727         * tests/test-pipe2.c (pipe2): Likewise.
12728         * tests/test-poll.c (poll): Likewise.
12729         * tests/test-popen.c (popen, pclose): Likewise.
12730         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
12731         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
12732         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
12733         (posix_spawn_file_actions_destroy)
12734         (posix_spawn_file_actions_addclose)
12735         (posix_spawn_file_actions_addopen)
12736         (posix_spawn_file_actions_adddup2): Likewise.
12737         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
12738         * tests/test-pread.c (pread): Likewise.
12739         * tests/test-printf-posix.c (printf): Likewise.
12740         * tests/test-pty.c (openpty, forkpty): Likewise.
12741         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
12742         (random_r): Likewise.
12743         * tests/test-rawmemchr.c (rawmemchr): Likewise.
12744         * tests/test-readlink.c (readlink): Likewise.
12745         * tests/test-remove.c (remove): Likewise.
12746         * tests/test-rename.c (rename): Likewise.
12747         * tests/test-renameat.c (renameat): Likewise.
12748         * tests/test-rmdir.c (rmdir): Likewise.
12749         * tests/test-round1.c (round): Likewise.
12750         * tests/test-roundf1.c (roundf): Likewise.
12751         * tests/test-roundl.c (roundl): Likewise.
12752         * tests/test-setenv.c (setenv): Likewise.
12753         * tests/test-sigaction.c (sigaction): Likewise.
12754         * tests/test-sleep.c (sleep): Likewise.
12755         * tests/test-snprintf.c (snprintf): Likewise.
12756         * tests/test-sprintf-posix.c (sprintf): Likewise.
12757         * tests/test-stat.c (stat): Likewise.
12758         * tests/test-stpncpy.c (stpncpy): Likewise.
12759         * tests/test-strcasestr.c (strcasestr): Likewise.
12760         * tests/test-strchrnul.c (strchrnul): Likewise.
12761         * tests/test-strerror.c (strerror): Likewise.
12762         * tests/test-strsignal.c (strsignal): Likewise.
12763         * tests/test-strstr.c (strstr): Likewise.
12764         * tests/test-strtod.c (strtod): Likewise.
12765         * tests/test-strverscmp.c (strverscmp): Likewise.
12766         * tests/test-symlink.c (symlink): Likewise.
12767         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
12768         * tests/test-times.c (times): Likewise.
12769         * tests/test-trunc1.c (trunc): Likewise.
12770         * tests/test-truncf1.c (truncf): Likewise.
12771         * tests/test-truncl.c (truncl): Likewise.
12772         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
12773         Likewise.
12774         * tests/test-uname.c (uname): Likewise.
12775         * tests/test-unlink.c (unlink): Likewise.
12776         * tests/test-unlinkat.c (unlinkat): Likewise.
12777         * tests/test-unsetenv.c (unsetenv): Likewise.
12778         * tests/test-usleep.c (usleep): Likewise.
12779         * tests/test-utimensat.c (utimensat): Likewise.
12780         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
12781         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
12782         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
12783         * tests/test-vprintf-posix.c (vprintf): Likewise.
12784         * tests/test-vsnprintf.c (vsnprintf): Likewise.
12785         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
12786         * tests/test-wcrtomb.c (wcrtomb): Likewise.
12787         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
12788         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
12789         * tests/test-wcwidth.c (wcwidth): Likewise.
12790
12791         build: pull in conditional headers during GNULIB_POSIXCHECK
12792         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
12793         definitions from any conditionally-included headers.
12794         * lib/stdlib.in.h (includes): Likewise.
12795         * lib/unistd.in.h (includes): Likewise.
12796
12797 2009-12-24  Bruno Haible  <bruno@clisp.org>
12798
12799         * tests/test-argv-iter.c: Include header file being tested immediately
12800         after config.h.
12801         * tests/test-base64.c: Likewise.
12802         * tests/test-flock.c: Likewise.
12803         * tests/test-fsync.c: Likewise.
12804         * tests/test-getdate.c: Likewise.
12805         * tests/test-getndelim2.c: Likewise.
12806         * tests/test-isfinite.c: Likewise.
12807         * tests/test-isinf.c: Likewise.
12808         * tests/test-strerror.c: Likewise.
12809         * tests/test-strsignal.c: Likewise.
12810
12811 2009-12-23  Eric Blake  <ebb9@byu.net>
12812
12813         unistd: work around cygwin bug
12814         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
12815         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
12816         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
12817
12818 2009-12-23  Bruno Haible  <bruno@clisp.org>
12819
12820         localename: More tests.
12821         * tests/test-localename.c (SIZEOF): New macro.
12822         (categories): New variable.
12823         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
12824         test_locale_name_default): Add test w.r.t. thread locale.
12825         (test_locale_name_thread): New function.
12826         (main): Invoke it.
12827
12828         localename: Make aware of thread locale.
12829         * lib/localename.h (gl_locale_name_thread): New declaration.
12830         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
12831         behaviour with respect to thread locale.
12832         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
12833         <langinfo.h>, glthread/lock.h.
12834         (SIZE_BITS): New macro.
12835         (string_hash): New function.
12836         (struct hash_node): New type.
12837         (HASH_TABLE_SIZE): New macro.
12838         (struniq_hash_table, struniq_lock): New variables.
12839         (struniq): New function.
12840         (gl_locale_name_thread): New function.
12841         (gl_locale_name): Invoke it.
12842         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
12843         * modules/localename (Depends-on): Add lock.
12844         Reported by Mike Gran <spk121@yahoo.com>.
12845
12846 2009-12-23  Eric Blake  <ebb9@byu.net>
12847
12848         va-args: new module
12849         * modules/va-args: New file.
12850         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
12851         * MODULES.html.sh (Core language properties): Mention it.
12852
12853         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
12854         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
12855         named alias for __attribute__((__unused__)).
12856         * lib/chown.c: Update client.
12857         * lib/fchmodat.c: Likewise.
12858         * lib/fts.c: Likewise.
12859         * lib/getdate.y: Likewise.
12860         * lib/getgroups.c: Likewise.
12861         * lib/getopt.c: Likewise.
12862         * lib/getugroups.c: Likewise.
12863         * lib/mkdir.c: Likewise.
12864         * lib/mkfifo.c: Likewise.
12865         * lib/mkfifoat.c: Likewise.
12866         * lib/mknod.c: Likewise.
12867         * lib/mknodat.c: Likewise.
12868         * lib/readlink.c: Likewise.
12869         * lib/se-context.in.h: Likewise.
12870         * lib/se-selinux.in.h: Likewise.
12871         * lib/sockets.c: Likewise.
12872         * lib/symlink.c: Likewise.
12873         * lib/symlinkat.c: Likewise.
12874         * lib/unicodeio.c: Likewise.
12875         * lib/unistr.h: Likewise.
12876         * tests/test-areadlink.c: Likewise.
12877         * tests/test-areadlinkat.c: Likewise.
12878         * tests/test-filenamecat.c: Likewise.
12879         * tests/test-fseeko.c: Likewise.
12880         * tests/test-ftello.c: Likewise.
12881         * tests/test-getdate.c: Likewise.
12882         * tests/test-getgroups.c: Likewise.
12883         * tests/test-gethostname.c: Likewise.
12884         * tests/test-quotearg.c: Likewise.
12885         * tests/test-version-etc.c: Likewise.
12886         * tests/test-xalloc-die.c: Likewise.
12887         * tests/test-xfprintf-posix.c: Likewise.
12888         * tests/test-xprintf-posix.c: Likewise.
12889         * tests/test-xvasprintf.c: Likewise.
12890
12891         tests: avoid compiler warnings
12892         * tests/test-fcntl.c (main): Delete unused parameters.
12893         * tests/test-freopen-safer.c (main): Likewise.
12894         * tests/test-xalloc-die.c (main): Mark unused parameters.
12895         * tests/test-fseeko.c (main): Likewise.
12896         * tests/test-ftello.c (main): Likewise.
12897         * tests/test-nanosleep.c (main): Avoid declaration warning.
12898         * tests/test-sleep.c (main): Likewise.
12899         * tests/test-unsetenv.c (main): Silence warning about string
12900         literal.
12901         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
12902
12903 2009-12-23  Bruno Haible  <bruno@clisp.org>
12904
12905         * tests/test-localename.c (test_locale_name): New function, extracted
12906         from main. Also test mixed situations.
12907         (test_locale_name_posix, test_locale_name_environ,
12908         test_locale_name_default): New functions.
12909         (main): Invoke them all.
12910         * modules/localename-tests (configure.ac): Test for newlocale.
12911
12912 2009-12-23  Bruno Haible  <bruno@clisp.org>
12913
12914         unistd: Ensure getcwd gets declared before being overridden.
12915         * lib/unistd.in.h: Conditionally include <io.h>.
12916
12917 2009-12-22  Bruno Haible  <bruno@clisp.org>
12918
12919         wchar: Diagnose broken combination of glibc and gcc versions and flags.
12920         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
12921         (gl_WCHAR_H): Invoke it.
12922         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
12923         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
12924         Reported by Karl Berry <karl@freefriends.org>.
12925
12926 2009-12-22  Eric Blake  <ebb9@byu.net>
12927
12928         math, unistd: avoid redundant includes
12929         * lib/math.in.h (isnan): No need to re-include <math.h>.
12930         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
12931
12932         getsubopt: work around cygwin bug
12933         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
12934         avoid conflicting with system getsubopt.
12935         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
12936         bug.
12937
12938         getopt: synchronize from glibc
12939         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
12940         parameter order.  Adjust all callers.
12941         (_getopt_internal_r, main): Adjust quoting in error messages.
12942         Drop considerations for outdated POSIX 1003.2 error message.
12943         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
12944         callers.
12945         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
12946
12947         test-getopt: test stderr behavior
12948         * modules/getopt-posix-tests (Depends-on): Add dup2.
12949         * tests/test-getopt.c (ASSERT): Avoid stderr.
12950         (main): Move stderr to a temporary file.
12951         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
12952         Instead, add parameter to inform caller if output occurred.
12953         (test_getopt): Adjust all existing tests to expect silence, and
12954         add new tests of leading ":".
12955         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
12956         glibc shortcomings with leading "-:" or "+:" in optstring.
12957         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
12958         Likewise.
12959         * doc/posix-functions/getopt.texi (getopt): Likewise.
12960
12961         test-getopt: enhance test
12962         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
12963         supports optind=0.
12964         * tests/test-getopt.c (OPTIND_MIN): Move...
12965         * tests/test-getopt.h (OPTIND_MIN): ...here.
12966         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
12967         Require that optind=0 works, since modern BSD supports it in
12968         addition to optreset, and since coreutils expects it.
12969         (test_getopt_long_only): New test.
12970         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
12971         glibc shortcomings with 'W;', and enforcement of optind=0.
12972         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
12973         Likewise.
12974
12975 2009-12-21  Bruno Haible  <bruno@clisp.org>
12976
12977         localename: Improvements for MacOS X and Cygwin.
12978         * lib/localename.h (gl_locale_name_environ): New declaration.
12979         * lib/localename.c (gl_locale_name_environ): New function, extracted from
12980         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
12981         (gl_locale_name_posix): Invoke it.
12982         (gl_locale_name_default): Add comments. Use Windows native API also on
12983         Cygwin.
12984
12985 2009-12-21  Bruno Haible  <bruno@clisp.org>
12986
12987         Update list of Win32 locale ids.
12988         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
12989         (LANG_SAMI): Renamed from LANG_SAAMI.
12990         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
12991         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
12992         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
12993         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
12994         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
12995         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
12996         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
12997         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
12998         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
12999         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
13000         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
13001         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
13002         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
13003         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
13004         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
13005         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
13006         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
13007         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
13008         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
13009         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
13010         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
13011         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
13012         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
13013         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
13014         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
13015         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
13016         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
13017         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
13018         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
13019         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
13020         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
13021         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
13022         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
13023         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
13024         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
13025         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
13026         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
13027         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
13028         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
13029         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
13030         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
13031         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
13032         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
13033         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
13034         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
13035         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
13036         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
13037         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
13038         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
13039         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
13040         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
13041         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
13042         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
13043         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
13044         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
13045         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
13046         Add more languages and countries for Sami, Sorbian. Add more countries
13047         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
13048         for Pashto. Change country for Syriac, Tswana.
13049
13050 2009-12-21  Eric Blake  <ebb9@byu.net>
13051
13052         test-utimens: avoid spurious failure
13053         * tests/test-chown.h (nap): Factor...
13054         * tests/nap.h: ...into new file.
13055         * tests/test-lchown.h (nap): Avoid duplication.
13056         * tests/test-utimens-common.h (nap): Use shared implementation,
13057         necessary on file systems with 1-second resolution.
13058         * modules/chown-tests (Files): Include new file.
13059         * modules/fdutimensat-tests (Files): Likewise.
13060         * modules/futimens-tests (Files): Likewise.
13061         * modules/lchown-tests (Files): Likewise.
13062         * modules/openat-tests (Files): Likewise.
13063         * modules/utimens-tests (Files): Likewise.
13064         * modules/utimensat-tests (Files): Likewise.
13065
13066 2009-12-19  Eric Blake  <ebb9@byu.net>
13067
13068         futimens, utimensat: work around Linux bug
13069         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
13070         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
13071         * lib/utimensat.c (rpl_utimensat): Work around it.
13072         * lib/futimens.c (rpl_futimens): Adjust comment.
13073
13074         utimens: work around Linux ctime bug
13075         * lib/utimens.c (detect_ctime_bug): New helper function.
13076         (update_timespec): Differentiate between workaround needed for
13077         this bug vs. what is needed for systems that lack utimensat.
13078         (fdutimens, lutimens): Work around bug.
13079
13080         utimens: check for ctime update
13081         * tests/test-utimens-common.h (check_ctime): Define.
13082         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
13083         * tests/test-futimens.h (test_futimens): Likewise.
13084         * tests/test-lutimens.h (test_lutimens): Likewise.
13085         * doc/posix-functions/futimens.texi (futimens): Document the bug.
13086         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
13087
13088 2009-12-19  Bruno Haible  <bruno@clisp.org>
13089
13090         dprintf-posix: Check against memory leak fixed on 2009-12-15.
13091         * tests/test-dprintf-posix2.sh: New file.
13092         * tests/test-dprintf-posix2.c: New file.
13093         * modules/dprintf-posix-tests (Files): Add them.
13094         (configure.ac): Check for getrlimit and setrlimit.
13095         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
13096
13097 2009-12-19  Bruno Haible  <bruno@clisp.org>
13098
13099         fprintf-posix: Check against memory leak fixed on 2009-12-15.
13100         * tests/test-fprintf-posix3.sh: New file.
13101         * tests/test-fprintf-posix3.c: New file.
13102         * modules/fprintf-posix-tests (Files): Add them.
13103         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
13104
13105 2009-12-19  Eric Blake  <ebb9@byu.net>
13106
13107         dirfd: fix prototype
13108         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
13109         * lib/dirfd.c (dirfd): Likewise.
13110
13111         canonicalize: reduce memory usage
13112         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
13113         allocation to size.
13114         Reported by Solar Designer <solar@openwall.com>.
13115
13116 2009-12-19  Bruno Haible  <bruno@clisp.org>
13117
13118         New module attribute 'Applicability'.
13119         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
13120         * gnulib-tool: New option --extract-applicability.
13121         (func_usage): Document it.
13122         (sed_extract_prog): Recognize it.
13123         (func_get_applicability): New function.
13124         (func_import): Generalize handling of 'link-warning' module.
13125         * modules/link-warning (Applicability): New section.
13126         * modules/arg-nonnull (Applicability): New section.
13127         Repoted by Simon Josefsson <simon@josefsson.org>.
13128
13129 2009-12-19  Bruno Haible  <bruno@clisp.org>
13130
13131         fflush: tweak
13132         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
13133         * lib/fseeko.c (rpl_fseeko): Likewise.
13134
13135 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
13136
13137         * lib/gl_list.h: Fix typo in comment.
13138
13139 2009-12-16  Eric Blake  <ebb9@byu.net>
13140
13141         fcntl: use to simplify other modules
13142         * modules/cloexec (Depends-on): Add fcntl.
13143         * modules/fchdir (Depends-on): Likewise.
13144         * modules/fd-safer-flag (Depends-on): Likewise.
13145         * modules/unistd-safer (Depends-on): Likewise.
13146         * modules/dup3 (configure.ac): Set module indicator.
13147         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
13148         missing.
13149         * lib/fchdir.c (_gl_register_dup): Fix comment.
13150         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
13151         * lib/dup-safer.c (dup_safer): Likewise.
13152         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
13153         * lib/dup3.c (dup3): Likewise.
13154         * tests/test-fchdir.c (main): Enhance test.
13155         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
13156
13157         fcntl: port portions of fcntl to mingw
13158         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
13159         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
13160         replacement for mingw.
13161         * modules/fcntl (Description): Update.
13162         (Depends-on): Add dup2.
13163         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
13164         * modules/fcntl-h (Makefile.am): Substitute it.
13165         * lib/fcntl.in.h (fcntl): Update declaration.
13166         (F_DUPFD, F_GETFD): New macros, when needed.
13167         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
13168         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
13169         * tests/test-fcntl.c (check_flags, main): Enhance test for items
13170         we now guarantee.
13171
13172         fcntl: work around cygwin bug in F_DUPFD
13173         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
13174         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
13175         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
13176         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
13177         * doc/posix-functions/fcntl.texi (fcntl): Document it.
13178
13179         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
13180         * modules/fcntl (Files): List new files.
13181         (configure.ac): Run a test.
13182         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
13183         * lib/fcntl.c (rpl_fcntl): Likewise.
13184         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
13185         (gl_FCNTL_H): Always replace fcntl.h.
13186         * modules/fcntl-h (Makefile.am): Substitute witnesses.
13187         * lib/fcntl.in.h (fcntl): Declare replacement.
13188         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
13189         needed, plus a witness.
13190         * doc/posix-functions/fcntl.texi (fcntl): Document this.
13191         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
13192         * tests/test-fcntl.c: New file.
13193         * modules/fcntl-tests: Likewise.
13194
13195         binary-io: avoid potential compilation warning
13196         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
13197         directives.
13198
13199         fflush: avoid compilation error on NetBSD
13200         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
13201         between off_t and fpos_t, since the latter is sometimes a struct.
13202         * lib/fseeko.c (rpl_fseeko): Likewise.
13203         Reported by Alexander Nasonov <alnsn@yandex.ru>.
13204
13205 2009-12-15  Eric Blake  <ebb9@byu.net>
13206
13207         fcntl-h, stdio, sys_ioctl: fix declarations
13208         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
13209         function must not take arguments.
13210         * lib/sys_ioctl.in.h (ioctl): Likewise.
13211         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
13212         (open): Add a link warning.
13213
13214 2009-12-15  Jim Meyering  <meyering@redhat.com>
13215
13216         areadlink, areadlink-with-size: relax license to LGPLv2+
13217         * modules/areadlink (License): Relax to LGPLv2+.
13218         * modules/areadlink-with-size (License): Likewise.
13219
13220 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
13221             Bruno Haible  <bruno@clisp.org>
13222
13223         *printf: Fix memory leak.
13224         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
13225         * lib/vfprintf.c (vfprintf): Likewise.
13226         * lib/dprintf.c (dprintf): Likewise.
13227         * lib/vdprintf.c (vdprintf): Likewise.
13228
13229 2009-12-14  Eric Blake  <ebb9@byu.net>
13230
13231         accept4: adjust module dependencies
13232         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
13233
13234         utimens: one more try at avoiding compiler warning
13235         * lib/utimens.c (lutimens): Lower scope of result.
13236
13237 2009-12-13  Bruno Haible  <bruno@clisp.org>
13238
13239         Move the malloc checking from module 'list' to new module 'xlist'.
13240         * modules/xlist: New file.
13241         * lib/gl_xlist.h: New file.
13242         * lib/gl_xlist.c: New file.
13243         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
13244         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
13245         gl_list_add_last, gl_list_add_before, gl_list_add_after,
13246         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
13247         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
13248         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
13249         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
13250         gl_sortedlist_nx_add): New declarations.
13251         (struct gl_list_implementation): Rename and change methods accordingly.
13252         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
13253         (gl_list_nx_create): Renamed from gl_list_create.
13254         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
13255         (gl_list_nx_set_at): Renamed from gl_list_set_at.
13256         (gl_list_nx_add_first): Renamed from gl_list_add_first.
13257         (gl_list_nx_add_last): Renamed from gl_list_add_last.
13258         (gl_list_nx_add_before): Renamed from gl_list_add_before.
13259         (gl_list_nx_add_after): Renamed from gl_list_add_after.
13260         (gl_list_nx_add_at): Renamed from gl_list_add_at.
13261         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
13262         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
13263         gl_list_create_empty.
13264         (gl_list_nx_create): Renamed from gl_list_create.
13265         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
13266         (gl_list_nx_set_at): Renamed from gl_list_set_at.
13267         (gl_list_nx_add_first): Renamed from gl_list_add_first.
13268         (gl_list_nx_add_last): Renamed from gl_list_add_last.
13269         (gl_list_nx_add_before): Renamed from gl_list_add_before.
13270         (gl_list_nx_add_after): Renamed from gl_list_add_after.
13271         (gl_list_nx_add_at): Renamed from gl_list_add_at.
13272         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
13273         * lib/gl_array_list.c: Don't include xalloc.h.
13274         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
13275         NULL upon out-of-memory.
13276         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
13277         out-of-memory.
13278         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
13279         Change return type to 'int'.
13280         (gl_array_nx_set_at): Renamed from gl_array_set_at.
13281         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
13282         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
13283         upon out-of-memory.
13284         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
13285         upon out-of-memory.
13286         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
13287         upon out-of-memory.
13288         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
13289         upon out-of-memory.
13290         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
13291         out-of-memory.
13292         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
13293         Update.
13294         (gl_array_list_implementation): Update.
13295         * lib/gl_carray_list.c: Don't include xalloc.h.
13296         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
13297         Return NULL upon out-of-memory.
13298         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
13299         out-of-memory.
13300         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
13301         Change return type to 'int'.
13302         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
13303         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
13304         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
13305         upon out-of-memory.
13306         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
13307         upon out-of-memory.
13308         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
13309         out-of-memory.
13310         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
13311         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
13312         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
13313         Update.
13314         (gl_carray_list_implementation): Update.
13315         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
13316         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
13317         gl_linked_create_empty. Return NULL upon out-of-memory.
13318         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
13319         out-of-memory.
13320         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
13321         Change return type to 'int'. Return -1 upon out-of-memory.
13322         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
13323         out-of-memory.
13324         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
13325         upon out-of-memory.
13326         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
13327         upon out-of-memory.
13328         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
13329         NULL upon out-of-memory.
13330         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
13331         upon out-of-memory.
13332         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
13333         out-of-memory.
13334         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
13335         Update.
13336         * lib/gl_linked_list.c: Don't include xalloc.h.
13337         (gl_linked_list_implementation): Update.
13338         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
13339         (add_to_bucket): Change return type to 'int'.
13340         (gl_linkedhash_list_implementation): Update.
13341         * lib/gl_anytree_list1.h (free_subtree): New function.
13342         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
13343         gl_tree_create_empty. Return NULL upon out-of-memory.
13344         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
13345         Change return type to 'int'. Return -1 upon out-of-memory.
13346         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
13347         out-of-memory.
13348         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
13349         (gl_tree_remove_node): New function, moved here from
13350         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
13351         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
13352         Update.
13353         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
13354         malloc, not xmalloc. Return NULL upon out-of-memory.
13355         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
13356         out-of-memory.
13357         (gl_tree_remove_node_from_tree): New function, extracted from
13358         gl_tree_remove_node.
13359         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
13360         upon out-of-memory.
13361         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
13362         out-of-memory.
13363         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
13364         upon out-of-memory.
13365         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
13366         upon out-of-memory.
13367         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
13368         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
13369         not xmalloc. Return NULL upon out-of-memory.
13370         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
13371         out-of-memory.
13372         (gl_tree_remove_node_from_tree): New function, extracted from
13373         gl_tree_remove_node.
13374         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
13375         upon out-of-memory.
13376         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
13377         out-of-memory.
13378         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
13379         upon out-of-memory.
13380         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
13381         upon out-of-memory.
13382         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
13383         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
13384         gl_anytree_list1.h before gl_anyavltree_list2.h.
13385         (gl_avltree_list_implementation): Update.
13386         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
13387         gl_anytree_list1.h before gl_anyavltree_list2.h.
13388         (gl_rbtree_list_implementation): Update.
13389         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
13390         Change return type to 'int'. Return -1 upon out-of-memory. Use
13391         __builtin_expect.
13392         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
13393         (gl_avltreehash_list_implementation): Update.
13394         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
13395         (gl_rbtreehash_list_implementation): Update.
13396         * modules/array-list (Depends-on): Remove xalloc.
13397         * modules/carray-list (Depends-on): Likewise.
13398         * modules/linked-list (Depends-on): Likewise.
13399         * modules/linkedhash-list (Depends-on): Likewise.
13400         * modules/avltree-list (Depends-on): Likewise.
13401         * modules/rbtree-list (Depends-on): Likewise.
13402         * modules/avltreehash-list (Depends-on): Likewise.
13403         * modules/rbtreehash-list (Depends-on): Likewise.
13404
13405         * modules/xsublist: New file.
13406         * lib/gl_xsublist.h: New file.
13407         * lib/gl_xsublist.c: New file.
13408         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
13409         (gl_sublist_nx_create): New declaration.
13410         * lib/gl_sublist.c: Don't include xalloc.h.
13411         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
13412         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
13413         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
13414         Change return type to 'int'. Return -1 upon out-of-memory.
13415         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
13416         upon out-of-memory.
13417         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
13418         NULL upon out-of-memory.
13419         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
13420         upon out-of-memory.
13421         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
13422         NULL upon out-of-memory.
13423         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
13424         NULL upon out-of-memory.
13425         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
13426         upon out-of-memory.
13427         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
13428         (gl_sublist_list_implementation): Update.
13429         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
13430         upon out-of-memory.
13431         * modules/sublist (Depends-on): Remove xalloc.
13432
13433         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
13434         * tests/test-carray_list.c: Likewise.
13435         * tests/test-linked_list.c: Likewise.
13436         * tests/test-linkedhash_list.c: Likewise.
13437         * tests/test-avltree_list.c: Likewise.
13438         * tests/test-rbtree_list.c: Likewise.
13439         * tests/test-avltreehash_list.c: Likewise.
13440         * tests/test-rbtreehash_list.c: Likewise.
13441         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
13442         * modules/carray-list-tests (Makefile.am): Likewise.
13443         * modules/linked-list-tests (Makefile.am): Likewise.
13444         * modules/linkedhash-list-tests (Makefile.am): Likewise.
13445         * modules/avltree-list-tests (Makefile.am): Likewise.
13446         * modules/rbtree-list-tests (Makefile.am): Likewise.
13447         * modules/avltreehash-list-tests (Makefile.am): Likewise.
13448         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
13449
13450         * NEWS: Mention the changes.
13451
13452         * lib/clean-temp.c: Include gl_xlist.h.
13453         * modules/clean-temp (Depends-on): Add xlist.
13454
13455         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
13456         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
13457
13458         * tests/test-array_oset.c: Include gl_xlist.h.
13459         * modules/array-oset-tests (Depends-on): Add xlist.
13460
13461         Reported by José E. Marchesi <jemarch@gnu.org>.
13462
13463 2009-12-13  Bruno Haible  <bruno@clisp.org>
13464
13465         Move the malloc checking from module 'oset' to new module 'xoset'.
13466         * modules/xoset: New file.
13467         * lib/gl_xoset.h: New file.
13468         * lib/gl_xoset.c: New file.
13469         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
13470         declarations.
13471         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
13472         (struct gl_oset_implementation): Rename and change methods accordingly.
13473         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
13474         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
13475         'int'. Mark as __warn_unused_result__.
13476         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
13477         gl_oset_create_empty.
13478         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
13479         'int'.
13480         * lib/gl_array_oset.c: Don't include xalloc.h.
13481         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
13482         malloc, not xmalloc.
13483         (grow): Change return type to 'int'. Don't call xalloc_die.
13484         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
13485         to 'int'.
13486         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
13487         'int'.
13488         (gl_array_oset_implementation): Update.
13489         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
13490         gl_tree_create_empty.
13491         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
13492         'int'.
13493         * lib/gl_avltree_oset.c: Don't include xalloc.h.
13494         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
13495         xmalloc.
13496         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
13497         not xmalloc.
13498         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
13499         xmalloc.
13500         (gl_avltree_oset_implementation): Update.
13501         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
13502         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
13503         xmalloc.
13504         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
13505         not xmalloc.
13506         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
13507         xmalloc.
13508         (gl_rbtree_oset_implementation): Update.
13509         * modules/array-oset (Depends-on): Remove xalloc.
13510         * modules/avltree-oset (Depends-on): Likewise.
13511         * modules/rbtree-oset (Depends-on): Likewise.
13512         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
13513         * tests/test-avltree_oset.c: Likewise.
13514         * tests/test-rbtree_oset.c: Likewise.
13515         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
13516         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
13517         * modules/rbtree-oset-tests (Makefile.am): Likewise.
13518         * NEWS: Mention the change.
13519
13520 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
13521
13522         maint.mk: allow a project to override release-prep commands
13523         * top/maint.mk (alpha, beta, stable): Move release-preparatory
13524         commands into a new rule.
13525         (release-prep): New rule.
13526         (release-prep-hook): New overridable variable.
13527
13528 2009-12-13  Bruno Haible  <bruno@clisp.org>
13529
13530         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
13531
13532 2009-12-13  Jim Meyering  <meyering@redhat.com>
13533
13534         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
13535         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
13536
13537 2009-12-12  Bruno Haible  <bruno@clisp.org>
13538
13539         duplocale: Tweak.
13540         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
13541
13542 2009-12-12  Karl Berry  <karl@gnu.org>
13543
13544         * config/srclist.txt (strtoll.c): tab changes, no more sync.
13545
13546 2009-12-12  Bruno Haible  <bruno@clisp.org>
13547
13548         * m4/po.m4: Undo incorrect untabification.
13549
13550 2009-12-12  Bruno Haible  <bruno@clisp.org>
13551
13552         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
13553         * modules/c-strtod (Depends-on): Add locale.
13554         * modules/c-strtold (Depends-on): Likewise.
13555
13556 2009-12-12  Bruno Haible  <bruno@clisp.org>
13557
13558         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
13559
13560 2009-12-11  Eric Blake  <ebb9@byu.net>
13561
13562         setenv: relax requirement in light of POSIX ruling
13563         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
13564         not NULL.
13565         * tests/test-setenv.c (main): Relax test.
13566         * tests/test-unsetenv.c (main): Likewise.
13567         * doc/posix-functions/setenv.texi (setenv): Document this.
13568         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
13569
13570 2009-12-11  Bruno Haible  <bruno@clisp.org>
13571
13572         New module 'fd-safer-flag'.
13573         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
13574         * lib/dup-safer.c (dup_safer_flag): Remove function.
13575         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
13576         * lib/fd-safer.c (fd_safer_flag): Remove function.
13577         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
13578         * modules/cloexec (configure.ac): Drop indicator macro.
13579         * modules/fd-safer-flag: New file.
13580         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
13581         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
13582         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
13583
13584 2009-12-11  Bruno Haible  <bruno@clisp.org>
13585
13586         Tests for module 'nl_langinfo'.
13587         * modules/nl_langinfo-tests: New file.
13588         * tests/test-nl_langinfo.sh: New file.
13589         * tests/test-nl_langinfo.c: New file.
13590
13591         New module 'nl_langinfo'.
13592         * lib/nl_langinfo.c: New file.
13593         * m4/nl_langinfo.m4: New file.
13594         * modules/nl_langinfo: New file.
13595         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
13596
13597 2009-12-11  Bruno Haible  <bruno@clisp.org>
13598
13599         Tests for module 'langinfo'.
13600         * modules/langinfo-tests: New file.
13601         * tests/test-langinfo.c: New file.
13602
13603         New module 'langinfo'.
13604         * lib/langinfo.in.h: New file.
13605         * m4/langinfo_h.m4: New file.
13606         * modules/langinfo: New file.
13607         * doc/posix-headers/langinfo.texi: Mention the new module.
13608
13609 2009-12-11  Bruno Haible  <bruno@clisp.org>
13610
13611         * lib/config.charset: Untabify.
13612
13613 2009-12-11  Bruno Haible  <bruno@clisp.org>
13614
13615         * modules/unistd-safer (configure.ac): Drop indicator macro.
13616
13617 2009-12-11  Bruno Haible  <bruno@clisp.org>
13618
13619         Move pipe2-safer code to its own file.
13620         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
13621         * lib/pipe-safer.c (pipe2_safer): Remove function.
13622         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
13623         (Makefile.am): Add it to lib_SOURCES.
13624
13625 2009-12-10  Bruno Haible  <bruno@clisp.org>
13626
13627         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
13628
13629 2009-12-10  Bruno Haible  <bruno@clisp.org>
13630
13631         Declare which arguments expect non-NULL values, for GCC and clang.
13632         * build-aux/arg-nonnull.h: New file.
13633         * modules/arg-nonnull: New file.
13634         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
13635         (inet_ntop, inet_pton): Use it.
13636         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
13637         (closedir, dirfd, opendir, scandir, alphasort): Use it.
13638         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
13639         (open, openat): Use it.
13640         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
13641         (fnmatch): Use it.
13642         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
13643         (getopt, getopt_long, getopt_long_only): Use it.
13644         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
13645         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
13646         Use it.
13647         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
13648         (iconv_open): Use it.
13649         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
13650         (strtoimax, strtoumax): Use it.
13651         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
13652         (duplocale): Use it.
13653         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
13654         (frexp, frexpl): Use it.
13655         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
13656         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
13657         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
13658         (tsearch, tfind, tdelete, twalk): Use it.
13659         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
13660         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
13661         sigpending): Use it.
13662         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
13663         (posix_spawn, posix_spawnp, posix_spawnattr_init,
13664         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
13665         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
13666         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
13667         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
13668         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
13669         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
13670         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
13671         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
13672         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
13673         Use it.
13674         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
13675         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
13676         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
13677         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
13678         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
13679         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
13680         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
13681         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
13682         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
13683         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
13684         strtoull, unsetenv): Use it.
13685         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
13686         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
13687         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
13688         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
13689         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
13690         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
13691         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
13692         (strcasecmp, strncasecmp): Use it.
13693         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
13694         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
13695         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
13696         rpl_setsockopt): Use it.
13697         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
13698         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
13699         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
13700         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
13701         (gettimeofday): Use it.
13702         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
13703         (times): Use it.
13704         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
13705         (uname): Use it.
13706         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
13707         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
13708         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
13709         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
13710         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
13711         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
13712         unlinkat, write): Use it.
13713         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
13714         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
13715         * lib/argv-iter.h: Include arg-nonnull.h.
13716         (_ATTRIBUTE_NONNULL_): Remove macro.
13717         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
13718         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
13719         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
13720         optimization.
13721         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
13722         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
13723         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
13724         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
13725         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
13726         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
13727         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
13728         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
13729         * modules/arpa_inet (Depends-on): Add arg-nonnull.
13730         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
13731         * modules/dirent (Depends-on): Add arg-nonnull.
13732         (Makefile.am): Insert arg-nonnull.h into dirent.h.
13733         * modules/fcntl-h (Depends-on): Add arg-nonnull.
13734         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
13735         * modules/fnmatch (Depends-on): Add arg-nonnull.
13736         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
13737         * modules/getopt-posix (Depends-on): Add arg-nonnull.
13738         (Makefile.am): Insert arg-nonnull.h into getopt.h.
13739         * modules/glob (Depends-on): Add arg-nonnull.
13740         (Makefile.am): Insert arg-nonnull.h into glob.h.
13741         * modules/iconv_open (Depends-on): Add arg-nonnull.
13742         (Makefile.am): Insert arg-nonnull.h into iconv.h.
13743         * modules/inttypes (Depends-on): Add arg-nonnull.
13744         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
13745         * modules/locale (Depends-on): Add arg-nonnull.
13746         (Makefile.am): Insert arg-nonnull.h into locale.h.
13747         * modules/math (Depends-on): Add arg-nonnull.
13748         (Makefile.am): Insert arg-nonnull.h into math.h.
13749         * modules/netdb (Depends-on): Add arg-nonnull.
13750         (Makefile.am): Insert arg-nonnull.h into netdb.h.
13751         * modules/search (Depends-on): Add arg-nonnull.
13752         (Makefile.am): Insert arg-nonnull.h into search.h.
13753         * modules/signal (Depends-on): Add arg-nonnull.
13754         (Makefile.am): Insert arg-nonnull.h into signal.h.
13755         * modules/spawn (Depends-on): Add arg-nonnull.
13756         (Makefile.am): Insert arg-nonnull.h into spawn.h.
13757         * modules/stdio (Depends-on): Add arg-nonnull.
13758         (Makefile.am): Insert arg-nonnull.h into stdio.h.
13759         * modules/stdlib (Depends-on): Add arg-nonnull.
13760         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
13761         * modules/string (Depends-on): Add arg-nonnull.
13762         (Makefile.am): Insert arg-nonnull.h into string.h.
13763         * modules/strings (Depends-on): Add arg-nonnull.
13764         (Makefile.am): Insert arg-nonnull.h into strings.h.
13765         * modules/sys_socket (Depends-on): Add arg-nonnull.
13766         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
13767         * modules/sys_stat (Depends-on): Add arg-nonnull.
13768         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
13769         * modules/sys_time (Depends-on): Add arg-nonnull.
13770         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
13771         * modules/sys_times (Depends-on): Add arg-nonnull.
13772         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
13773         * modules/sys_utsname (Depends-on): Add arg-nonnull.
13774         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
13775         * modules/time (Depends-on): Add arg-nonnull.
13776         (Makefile.am): Insert arg-nonnull.h into time.h.
13777         * modules/unistd (Depends-on): Add arg-nonnull.
13778         (Makefile.am): Insert arg-nonnull.h into unistd.h.
13779         * modules/wchar (Depends-on): Add arg-nonnull.
13780         (Makefile.am): Insert arg-nonnull.h into wchar.h.
13781         * modules/argv-iter (Depends-on): Add arg-nonnull.
13782         * tests/test-canonicalize.c (null_ptr): New function.
13783         (main): Use it.
13784         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
13785         (main): Use it.
13786         * tests/test-memmem.c (null_ptr): New function.
13787         (main): Use it.
13788         Reported by Jim Meyering.
13789
13790 2009-12-10  Bruno Haible  <bruno@clisp.org>
13791
13792         Use spaces for indentation, not tabs.
13793         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
13794         * m4/*.m4: Untabify.
13795         * build-aux/*.h: Untabify.
13796         * tests/**/*.[hc]: Untabify.
13797         * README: New section "Indent with spaces, not TABs", based on
13798         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
13799         * NEWS: Mention the change.
13800
13801 2009-12-10  Bruno Haible  <bruno@clisp.org>
13802
13803         pty test: Fix link error.
13804         * modules/pty-tests (Makefile.am): Add the default LDADD value to
13805         test_pty_LDADD.
13806
13807 2009-12-07  Simon Josefsson  <simon@josefsson.org>
13808
13809         * modules/pty: New file.
13810         * modules/pty-tests: New file.
13811         * m4/pty.m4: New file.
13812         * tests/test-pty.c: New file.
13813         * doc/glibc-headers/pty.texi: Modified.
13814         * doc/glibc-functions/forkpty.texi: Modified.
13815         * doc/glibc-functions/openpty.texi: Modified.
13816
13817 2009-12-10  Bruno Haible  <bruno@clisp.org>
13818
13819         Avoid syntax error in C++ mode.
13820         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
13821
13822 2009-12-10  Bruno Haible  <bruno@clisp.org>
13823
13824         Use sed with option -e.
13825         * gnulib-tool (func_version, func_emit_copyright_notice,
13826         func_emit_initmacro_end, func_import, func_create_testdir): Pass
13827         option -e to sed.
13828         * modules/link-warning (Makefile.am): Likewise.
13829
13830 2009-12-10  Jim Meyering  <meyering@redhat.com>
13831
13832         mgetgroups: do not write bytes beyond end of malloc'd buffer
13833         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
13834         username, we call getgroups with a one-element-shorter buffer,
13835         but still told it the length was original, max_n_groups.
13836
13837 2009-12-09  Eric Blake  <ebb9@byu.net>
13838
13839         cloexec: relax license
13840         * modules/cloexec (Maintainer): Add myself.
13841         (License): Use LGPL, not GPL.
13842
13843         link-warning: optimize generation
13844         * modules/link-warning (Makefile.am): Reduce process usage.
13845
13846 2009-12-09  Bruno Haible  <bruno@clisp.org>
13847
13848         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
13849         workaround was added on 2009-11-17.
13850
13851 2009-12-09  Jim Meyering  <meyering@redhat.com>
13852             Bruno Haible  <bruno@clisp.org>
13853
13854         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
13855         * modules/link-warning (Makefile.am): Make the comment-removing sed
13856         command more robust in the face of bootstrap-prepended comment lines.
13857
13858 2009-12-09  Bruno Haible  <bruno@clisp.org>
13859
13860         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
13861         most one group.
13862
13863 2009-12-09  Simon Josefsson <simon@josefsson.org>
13864             Bruno Haible  <bruno@clisp.org>
13865
13866         * build-aux/link-warning.h: Add copyright notice.
13867         * modules/link-warning (Makefile.am): Generate link-warning.h from
13868         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
13869         * NEWS: Mention change in link-warning module.
13870         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
13871         * modules/dirent (Makefile.am): Add dependency to dirent.h.
13872         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
13873         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
13874         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
13875         * modules/math (Makefile.am): Add dependency to math.h.
13876         * modules/search (Makefile.am): Add dependency to search.h.
13877         * modules/signal (Makefile.am): Add dependency to signal.h.
13878         * modules/spawn (Makefile.am): Add dependency to spawn.h.
13879         * modules/stdio (Makefile.am): Add dependency to stdio.h.
13880         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
13881         * modules/string (Makefile.am): Add dependency to string.h.
13882         * modules/strings (Makefile.am): Add dependency to strings.h.
13883         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
13884         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
13885         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
13886         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
13887         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
13888         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
13889         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
13890         * modules/unistd (Makefile.am): Add dependency to unistd.h.
13891         * modules/wchar (Makefile.am): Add dependency to wchar.h.
13892
13893 2009-12-09  Bruno Haible  <bruno@clisp.org>
13894
13895         fchdir: Optimize away rpl_fstat when possible.
13896         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
13897         REPLACE_OPEN_DIRECTORY.
13898         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
13899
13900 2009-12-09  Bruno Haible  <bruno@clisp.org>
13901
13902         * lib/fchdir.c: Update comment.
13903
13904 2009-12-09  Bruno Haible  <bruno@clisp.org>
13905
13906         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
13907
13908 2009-12-08  Eric Blake  <ebb9@byu.net>
13909
13910         fchdir: avoid memory leak on re-registration.
13911         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
13912
13913 2009-12-08  Jim Meyering  <meyering@redhat.com>
13914
13915         init.sh: avoid Solaris 10 /bin/sh portability problem
13916         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
13917         sourced script:
13918           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
13919           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
13920           bar
13921         tests/init.sh relied on that, accepting a --set-path=DIR argument,
13922         and two tests used that idiom.
13923         * tests/init.sh: Update suggested usage comments.
13924         (path_prepend_): New function, to be used in place
13925         of the --src-path=DIR option.
13926         (setup_): Move PATH-prepending code into path_prepend_.
13927         * tests/test-pread.sh: Adapt to new usage.
13928         * tests/test-xalloc-die.sh: Likewise.
13929
13930 2009-12-08  Simon Josefsson  <simon@josefsson.org>
13931
13932         * doc/gnulib.texi (Glibc pty.h): Add.
13933         * doc/glibc-functions/forkpty.texi: Add.
13934         * doc/glibc-functions/openpty.texi: Add.
13935         Suggested by Bruno Haible.
13936
13937 2009-12-08  Eric Blake  <ebb9@byu.net>
13938
13939         fchdir: fix logic bugs
13940         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
13941         * tests/test-fchdir.c (main): Enhance test.
13942         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
13943         is in use.
13944
13945         dup2: fix logic bugs
13946         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
13947         REPLACE_DUP2 to decide when rpl_dup2 is needed.
13948         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
13949         exists.
13950         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
13951
13952 2009-12-07  Eric Blake  <ebb9@byu.net>
13953
13954         unlink: fix m4 detection
13955         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
13956
13957         unistd-safer: add unit test
13958         * modules/unistd-safer-tests: New file.
13959         * tests/test-dup-safer.c: Likewise.
13960         * tests/test-cloexec.c (setmode): Avoid compiler warning.
13961         * tests/test-dup2.c (setmode): Likewise.
13962         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
13963
13964         cloexec: preserve text vs. binary across dup_cloexec
13965         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
13966         mode.
13967         * modules/dup2-tests (Depends-on): Add binary-io.
13968         * modules/cloexec-tests (Depends-on): Likewise.
13969         * tests/test-dup2.c (setmode, is_mode): New helpers.
13970         (main): Add tests that translation mode is preserved.
13971         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
13972         Reported by Bruno Haible.
13973
13974         mgetgroups: reduce duplicate listings
13975         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
13976         resulting array.
13977         * tests/test-chown.h (test_chown): Simplify client.
13978         * tests/test-lchown.h (test_lchown): Likewise.
13979
13980 2009-12-06  Bruno Haible  <bruno@clisp.org>
13981
13982         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
13983         value.
13984
13985 2009-12-06  Bruno Haible  <bruno@clisp.org>
13986
13987         * lib/progname.c: Include stdio.h, stdlib.h.
13988         (set_program_name): Reject a NULL argument.
13989
13990 2009-12-05  Eric Blake  <ebb9@byu.net>
13991
13992         pipe2-safer: new module
13993         * modules/pipe2-safer: New file.
13994         * lib/unistd-safer.h (pipe2_safer): New prototype.
13995         * lib/unistd--.h (pipe2): New wrapper.
13996         * lib/pipe-safer.c (pipe2_safer): New function.
13997         * modules/pipe (Depends-on): Add pipe2-safer.
13998         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
13999
14000         stdlib-safer: preserve cloexec flag for mkostemp[s]
14001         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
14002         fd_safer_flag.
14003
14004         unistd-safer: allow preservation of cloexec status via flag
14005         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
14006         prototypes.
14007         * lib/dup-safer.c (dup_safer_flag): New function.
14008         * lib/fd-safer.c (fd_safer_flag): Likewise.
14009         * modules/cloexec (configure.ac): Set witness.
14010
14011         test-dup2: enhance test
14012         * modules/dup2-tests (Depends-on): Add cloexec.
14013         * tests/test-dup2.c (main): Enhance test.
14014
14015         cloexec: add dup_cloexec
14016         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
14017         header and comments.
14018         * lib/cloexec.c (set_cloexec_flag): Add comments.
14019         (dup_cloexec): New function, with mingw implementation borrowed
14020         from...
14021         * lib/w32spawn.h (dup_noinherit): ...here.
14022         * modules/execute (Depends-on): Add cloexec.
14023         * modules/pipe (Depends-on): Likewise.
14024         * modules/cloexec (Depends-on): Add dup2.
14025         * modules/cloexec-tests (Files): New file.
14026         * tests/test-cloexec.c: Likewise.
14027
14028         test-xalloc-die: fix test for mingw
14029         * modules/xalloc-die-tests (Files): Add tests/init.sh.
14030         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
14031         directory and .exe suffix off argv[0] output.
14032
14033         test-fseeko: fix test for mingw
14034         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
14035         than undefining fseek, so test will pass on mingw.
14036
14037 2009-12-05  Bruno Haible  <bruno@clisp.org>
14038
14039         * lib/progname.h (set_program_name): Clarify specification.
14040         * lib/progname.c (set_program_name): Likewise.
14041         Reported by Jim Meyering.
14042
14043 2009-12-05  Jim Meyering  <meyering@redhat.com>
14044
14045         maint.mk: backslash-escape parens in default regexp
14046         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
14047         backslash-escape the literal parentheses.
14048
14049         maint.mk: news-date-check: use grep -E
14050         * top/maint.mk (today): Define a Make variable, not a...
14051         (news-date-check): ...shell variable.
14052         (news-date-regexp): Use the Make variable.
14053         Use grep's -E option.  Change the failing diagnostic to mention
14054         the variable, $(news-date-regexp).
14055
14056 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
14057
14058         maintainer-makefile: allow customization of NEWS entry format
14059         * top/maint.mk (news-date-regexp): New overridable variable.
14060         (news-date-check): Use it.
14061
14062 2009-12-04  Eric Blake  <ebb9@byu.net>
14063
14064         mgetgroups: add xgetgroups, and avoid ENOSYS failures
14065         * lib/mgetgroups.h (xgetgroups): New prototype.
14066         * lib/mgetgroups.c (xgetgroups): New wrapper.
14067         (mgetgroups): Handle ENOSYS.
14068         * modules/mgetgroups (Depends-on): Add realloc.
14069         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
14070
14071         mgetgroups: avoid argument promotion issues with -1
14072         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
14073         for invalid gid_t.
14074         * tests/test-chown.h (getegid, test_chown): Likewise.
14075         * tests/test-lchown.h (getegid, test_lchown): Likewise.
14076
14077 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
14078
14079         exclude: Fix header file problems.
14080         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
14081
14082 2009-12-01  Jim Meyering  <meyering@redhat.com>
14083
14084         fts: fts_open: do not let an empty string cause immediate failure
14085         This is required in support of GNU rm, for which the command
14086         "rm A '' B" must process and remove both A and B, in spite of
14087         the empty string argument.
14088         * lib/fts.c (fts_open): Do not let the presence of an empty string
14089         cause fts_open to fail immediately.  Most fts-using tools must be
14090         able to process all arguments, in order, and can be expected to
14091         diagnose such arguments themselves.
14092
14093 2009-11-30  Eric Blake  <ebb9@byu.net>
14094
14095         utimens: fix compilation error
14096         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
14097         Declare variable at right scope.
14098
14099 2009-11-29  Jim Meyering  <meyering@redhat.com>
14100
14101         bootstrap: handle perl-5.11's changed --version output
14102         * build-aux/bootstrap (get_version): Handle perl separately,
14103         since perl-5.11's --version output is different.
14104
14105 2009-11-28  Jim Meyering  <meyering@redhat.com>
14106
14107         userspec: depend on the inttostr module, too
14108         * modules/userspec (Depends-on): Add inttostr.
14109
14110         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
14111         * lib/userspec.c (parse_with_separator): Do not accept a user ID
14112         number of MAXUID when it evaluates to (uid_t) -1.
14113         Likewise for group ID.  Reported by Matt McCutchen in
14114         <http://savannah.gnu.org/bugs/?28113>
14115
14116         userspec: reformat to use spaces, not TABs
14117         * lib/userspec.c: Expand TABs to spaces.
14118         Add Emacs' "indent-tabs-mode: nil" hint.
14119
14120 2009-11-27  Eric Blake  <ebb9@byu.net>
14121
14122         getopt-gnu: flush out another BSD bug
14123         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
14124         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
14125         flush out BSD bug.
14126         * tests/test-getopt.h (test_getopt): End lists with NULL.
14127         * tests/test-getopt_long.h (test_getopt_long): Likewise.
14128         (test_getopt_long_posix): Enhance test.
14129         * modules/getopt-posix-tests (Depends-on): Add stdbool.
14130         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
14131         getopt-gnu.
14132         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
14133         Likewise.
14134
14135 2009-11-27  Simon Josefsson  <simon@josefsson.org>
14136
14137         * modules/idpriv-droptemp-tests (Notice): Fix text.
14138
14139 2009-11-27  Jim Meyering  <meyering@redhat.com>
14140
14141         test-xalloc-die: avoid spurious failure due to libtool argv difference
14142         In a libtool-enabled project, this test would fail due to a difference
14143         in the emitted program name, e.g.,
14144         -test-xalloc-die: memory exhausted
14145         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
14146         Use program to avoid that.
14147         * modules/xalloc-die-tests (Depends-on): Add progname.
14148         * tests/test-xalloc-die.c: Include progname.h".
14149         (program_name): Remove decl.
14150         (main): Call set_program_name.
14151         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
14152
14153 2009-11-26  Richard Jones  <rjones@redhat.com>
14154
14155         w32sock: leave win32 error in place.
14156         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
14157
14158 2009-11-26  Eric Blake  <ebb9@byu.net>
14159
14160         init.sh: suggest to use skip_ and fail_ functions in comments
14161         * tests/init.sh: Add a sentence.
14162
14163 2009-11-25  Bruno Haible  <bruno@clisp.org>
14164
14165         init.sh: add documentation in comments
14166         * tests/init.sh: Add some developer and user documentation.
14167
14168 2009-11-26  Jim Meyering  <meyering@redhat.com>
14169
14170         init.sh: accommodate even those who specify bogus srcdir manually
14171         * tests/init.sh: Normally, srcdir is guaranteed by automake and
14172         configure-time tests to be sanitized, so that there is no need to
14173         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
14174         (with no double quotes) suffices.  However, since tests may be
14175         invoked manually, and since you may explicitly set srcdir to the
14176         name of a directory containing spaces, do quote its uses here.
14177         * tests/test-pread.sh: Likewise.
14178         Suggested by Bruno Haible.
14179
14180         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
14181         * tests/test-pread.sh: Write no data into the pipe, because
14182         test-pread actually reads none.  This avoids a diagnostic,
14183         "bash: echo: write error: Broken pipe", that arises in the unusual
14184         event something is ignoring SIGPIPE, and might be interpreted
14185         as some sort of failure.  Reported by Bruno Haible.
14186
14187 2009-11-25  Jim Meyering  <meyering@redhat.com>
14188
14189         test-pread: cover failure with ESPIPE and EINVAL
14190         * tests/test-pread.c (main): Test for failure, too.
14191         * tests/test-pread.sh: Invoke with stdin on a pipe.
14192         Suggested by Eric Blake.
14193
14194         pread: improvement and fix
14195         * modules/pread (Depends-on): Depend on lseek, for portability to
14196         e.g., mingw.  Suggested by Eric Blake.
14197         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
14198
14199         unistd.in.h: correct declaration of pread
14200         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
14201         Reported by Richard W.M. Jones.
14202
14203         test-pread.sh: distribute the test script
14204         * modules/pread-tests (Files): Include test-pread.sh.
14205
14206         test-pread.sh: clean up
14207         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
14208         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
14209         That is unnecessary, since it's always ".".
14210         Suggestion from Eric Blake.
14211
14212         test-pread.sh: make executable
14213         * tests/test-pread.sh: Set executable bit.
14214         Reported by Eric Blake.
14215
14216         correct typo in test-pread.sh
14217         * tests/test-pread.sh: Add #! line.
14218
14219         test pread
14220         * tests/test-pread.c: New file.
14221         * tests/test-pread.sh: Likewise.
14222         * modules/pread-tests: Likewise.
14223
14224         pread: new module
14225         * modules/pread: New file.
14226         * lib/unistd.in.h (pread): Define/declare.
14227         * lib/pread.c (pread): New file.
14228         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
14229         * modules/unistd (Makefile.am): Substitute witnesses.
14230         * doc/posix-functions/pread.texi (pread): Update.
14231         * MODULES.html.sh: Add pread.
14232
14233 2009-11-25  Jim Meyering  <meyering@redhat.com>
14234
14235         tests/init.sh: new file to be used via most *.sh tests
14236         * tests/init.sh: New file.
14237
14238 2009-11-25  Eric Blake  <ebb9@byu.net>
14239
14240         utimens: work around older Linux failure with symlinks
14241         * lib/utimens.c (lutimensat_works_really): New variable.
14242         (fdutimens, lutimens): Use it to manage kernels that support
14243         nanosecond times on files, but not on symlinks.
14244         Reported by OndÅ™ej Vašík.
14245
14246         utimes: fix configure grammar
14247         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
14248
14249 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
14250
14251         regex: Fix fastmap for multibyte character ranges.
14252         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
14253         characters when a multibyte character range is included.
14254
14255 2009-11-22  Andy Wingo  <wingo@pobox.com>
14256
14257         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
14258         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
14259
14260 2009-11-24  Bruno Haible  <bruno@clisp.org>
14261
14262         doc: Most *_l functions exist in MacOS X 10.5.
14263         * doc/posix-functions/duplocale.texi: Update platforms list.
14264         * doc/posix-functions/freelocale.texi: Likewise.
14265         * doc/posix-functions/newlocale.texi: Likewise.
14266         * doc/posix-functions/uselocale.texi: Likewise.
14267         * doc/posix-functions/isalnum_l.texi: Likewise.
14268         * doc/posix-functions/isalpha_l.texi: Likewise.
14269         * doc/posix-functions/isblank_l.texi: Likewise.
14270         * doc/posix-functions/iscntrl_l.texi: Likewise.
14271         * doc/posix-functions/isdigit_l.texi: Likewise.
14272         * doc/posix-functions/isgraph_l.texi: Likewise.
14273         * doc/posix-functions/islower_l.texi: Likewise.
14274         * doc/posix-functions/isprint_l.texi: Likewise.
14275         * doc/posix-functions/ispunct_l.texi: Likewise.
14276         * doc/posix-functions/isspace_l.texi: Likewise.
14277         * doc/posix-functions/isupper_l.texi: Likewise.
14278         * doc/posix-functions/iswalnum_l.texi: Likewise.
14279         * doc/posix-functions/iswalpha_l.texi: Likewise.
14280         * doc/posix-functions/iswblank_l.texi: Likewise.
14281         * doc/posix-functions/iswcntrl_l.texi: Likewise.
14282         * doc/posix-functions/iswctype_l.texi: Likewise.
14283         * doc/posix-functions/iswdigit_l.texi: Likewise.
14284         * doc/posix-functions/iswgraph_l.texi: Likewise.
14285         * doc/posix-functions/iswlower_l.texi: Likewise.
14286         * doc/posix-functions/iswprint_l.texi: Likewise.
14287         * doc/posix-functions/iswpunct_l.texi: Likewise.
14288         * doc/posix-functions/iswspace_l.texi: Likewise.
14289         * doc/posix-functions/iswupper_l.texi: Likewise.
14290         * doc/posix-functions/iswxdigit_l.texi: Likewise.
14291         * doc/posix-functions/isxdigit_l.texi: Likewise.
14292         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
14293         * doc/posix-functions/strcasecmp_l.texi: Likewise.
14294         * doc/posix-functions/strcoll_l.texi: Likewise.
14295         * doc/posix-functions/strfmon_l.texi: Likewise.
14296         * doc/posix-functions/strftime_l.texi: Likewise.
14297         * doc/posix-functions/strncasecmp_l.texi: Likewise.
14298         * doc/posix-functions/strxfrm_l.texi: Likewise.
14299         * doc/posix-functions/tolower_l.texi: Likewise.
14300         * doc/posix-functions/toupper_l.texi: Likewise.
14301         * doc/posix-functions/towctrans_l.texi: Likewise.
14302         * doc/posix-functions/towlower_l.texi: Likewise.
14303         * doc/posix-functions/towupper_l.texi: Likewise.
14304         * doc/posix-functions/wcscoll_l.texi: Likewise.
14305         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
14306         * doc/posix-functions/wctrans_l.texi: Likewise.
14307         * doc/posix-functions/wctype_l.texi: Likewise.
14308         * doc/glibc-functions/strptime_l.texi: Likewise.
14309         * doc/glibc-functions/strtod_l.texi: Likewise.
14310         * doc/glibc-functions/strtof_l.texi: Likewise.
14311         * doc/glibc-functions/strtol_l.texi: Likewise.
14312         * doc/glibc-functions/strtold_l.texi: Likewise.
14313         * doc/glibc-functions/strtoll_l.texi: Likewise.
14314         * doc/glibc-functions/strtoul_l.texi: Likewise.
14315         * doc/glibc-functions/strtoull_l.texi: Likewise.
14316         * doc/glibc-functions/wcsftime_l.texi: Likewise.
14317         * doc/glibc-functions/wcstod_l.texi: Likewise.
14318         * doc/glibc-functions/wcstof_l.texi: Likewise.
14319         * doc/glibc-functions/wcstol_l.texi: Likewise.
14320         * doc/glibc-functions/wcstold_l.texi: Likewise.
14321         * doc/glibc-functions/wcstoll_l.texi: Likewise.
14322         * doc/glibc-functions/wcstoul_l.texi: Likewise.
14323         * doc/glibc-functions/wcstoull_l.texi: Likewise.
14324
14325 2009-11-24  Bruno Haible  <bruno@clisp.org>
14326
14327         duplocale: Fix logic bug.
14328         * lib/duplocale.c: Don't include <langinfo.h>.
14329         (_NL_LOCALE_NAME): Remove macro.
14330         (rpl_duplocale): Use setlocale instead of nl_langinfo.
14331         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
14332
14333 2009-11-23  Jim Meyering  <meyering@redhat.com>
14334
14335         test-update-copyright: don't hard-code /usr/bin/perl
14336         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
14337         perl to print the current year.  Gilles Espinasse reported that
14338         the replaced use of perl was hard-coded as /usr/bin/perl.
14339
14340 2009-11-23  Bruno Haible  <bruno@clisp.org>
14341
14342         duplocale: Add support for glibc 2.3.x.
14343         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
14344
14345 2009-11-22  Bruno Haible  <bruno@clisp.org>
14346
14347         vasnprintf: Tiny optimization.
14348         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
14349         MacOS X.
14350
14351 2009-11-22  Bruno Haible  <bruno@clisp.org>
14352
14353         Tests for module 'duplocale'.
14354         * modules/duplocale-tests: New file.
14355         * tests/test-duplocale.c: New file.
14356
14357         New module 'duplocale'.
14358         * m4/duplocale.m4: New file.
14359         * lib/locale.in.h (duplocale): New declaration.
14360         * lib/duplocale.c: New file.
14361         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
14362         gl_LOCALE_H_DEFAULTS): New macros.
14363         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
14364         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
14365         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
14366         REPLACE_DUPLOCALE.
14367         * modules/duplocale: New file.
14368         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
14369
14370 2009-11-22  Bruno Haible  <bruno@clisp.org>
14371
14372         * modules/locale-tests (configure.ac): Test for newlocale function.
14373         * tests/test-locale.c: When the system has extended locale functions,
14374         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
14375
14376         locale: Make locale_t available when possible.
14377         * lib/locale.in.h: Include <xlocale.h> when it exists.
14378         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
14379         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
14380         * modules/locale (Depends-on): Add extensions.
14381         (Makefile.am): Also substitute HAVE_XLOCALE_H.
14382         * doc/posix-headers/locale.texi: Document the problem with locale_t.
14383
14384 2009-11-22  Bruno Haible  <bruno@clisp.org>
14385
14386         Add comments.
14387         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
14388         invocation.
14389         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
14390         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
14391         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
14392
14393 2009-11-22  Bruno Haible  <bruno@clisp.org>
14394
14395         error: account for the possibility of freopen (stdout).
14396         * lib/error.c: Include <unistd.h>.
14397         (flush_stdout): New function, extracted from error and error_at_line.
14398         Determine stdout's fd dynamically.
14399         (error, error_at_line): Invoke flush_stdout.
14400         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
14401         * modules/error (Depends-on): Add unistd.
14402
14403 2009-11-22  Bruno Haible  <bruno@clisp.org>
14404
14405         diffseq: Add comment.
14406         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
14407
14408 2009-11-22  Jim Meyering  <meyering@redhat.com>
14409
14410         c-stack: avoid defining an unused static function
14411         * lib/c-stack.c (find_stack_direction): Do not define this function
14412         when it will not be used.
14413
14414         diffseq: avoid spurious gcc warnings
14415         * lib/diffseq.h (IF_LINT2): Define.
14416         (compareseq): Use it to initialize two members of "part".
14417         This avoids two used-uninitialized warnings.
14418
14419 2009-11-21  Jim Meyering  <meyering@redhat.com>
14420
14421         c-stack: avoid "ignoring return value of `write'" warning
14422         * lib/c-stack.c: Include "ignore-value.h".
14423         (die): Explicitly ignore each write return value.
14424         * modules/c-stack (Depends-on): Add ignore-value.
14425
14426 2009-11-21  Bruno Haible  <bruno@clisp.org>
14427
14428         diffseq: reduce scope of variable 'best'.
14429         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
14430         variable, earlier used for two different purposes.
14431
14432 2009-11-21  Jim Meyering  <meyering@redhat.com>
14433
14434         diffseq: remove useless assignment to "best"
14435         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
14436         assignment.  At that point "best" is already guaranteed to be zero.
14437
14438 2009-11-20  Eric Blake  <ebb9@byu.net>
14439
14440         build: mention ftp redirector in release announcements
14441         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
14442         values that used to come from cfg.mk; mention FTP redirect URL.
14443         * build-aux/announce-gen: Mention the mirror list.
14444         Suggested by Karl Berry.
14445
14446         nanosleep: improve port to mingw
14447         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
14448         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
14449         LIB_NANOSLEEP, but only when needed.
14450         * modules/select (Link): Document LIBSOCKET.
14451         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
14452         enough.
14453
14454         nanosleep: work around cygwin bug
14455         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
14456         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
14457         bug.
14458         (getnow): Delete, not needed.
14459         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
14460         LIB_CLOCK_GETTIME.
14461         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
14462         clock-time, gettime.
14463         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
14464         bug.
14465         * modules/nanosleep-tests: New test.
14466         * tests/test-nanosleep.c: New file.
14467
14468         sleep: work around cygwin bug
14469         * lib/sleep.c (rpl_sleep): Work around the bug.
14470         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
14471         (gl_PREREQ_SLEEP): Delete unused macro.
14472         * modules/sleep (Depends-on): Add verify.
14473         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
14474         * modules/unistd (Makefile.am): Substitute witness.
14475         * lib/unistd.in.h (sleep): Update prototype.
14476         * doc/posix-functions/sleep.texi (sleep): Document the bug.
14477         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
14478         * modules/sleep-tests (Depends-on): Check for alarm.
14479
14480 2009-11-20  Jim Meyering  <meyering@redhat.com>
14481
14482         maint.mk: improve sc_prohibit_magic_number_exit
14483         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
14484         so it does not match uses like System.exit(1).
14485         Add comments showing how to correct all offenders.
14486
14487 2009-11-19  Eric Blake  <ebb9@byu.net>
14488
14489         xalloc-die-tests: add missing library
14490         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
14491
14492         test-xvasprintf: silence compiler warnings
14493         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
14494         empty string from gcc.
14495
14496 2009-11-19  Jim Meyering  <meyering@redhat.com>
14497
14498         xfreopen: new module, from coreutils
14499         * modules/xfreopen: New module.
14500         * lib/xfreopen.c: New file.
14501         * lib/xfreopen.h: New file.
14502         * MODULES.html.sh (File stream based Input/Output"): Add it.
14503
14504 2009-11-19  Eric Blake  <ebb9@byu.net>
14505
14506         manywarnings: depend on warnings
14507         * modules/manywarnings (Depends-on): Add warnings.
14508
14509         build: avoid compiler warnings
14510         * lib/select.c (rpl_select): Delete unused variable.
14511         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
14512
14513 2009-11-18  Eric Blake  <ebb9@byu.net>
14514
14515         tests: avoid false negative with --with-packager
14516         * tests/test-version-etc.sh: Discard packager information.
14517         * tests/test-argp-version-etc-1.sh: Likewise.
14518         Reported by Mike Frysinger.
14519
14520         utimens: fix regression on Solaris
14521         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
14522         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
14523         can only change fd timestamps via futimesat.  Instead, use an
14524         additional witness macro to avoid BSD bug.
14525         Reported by Jim Meyering.
14526
14527 2009-11-17  Eric Blake  <ebb9@byu.net>
14528
14529         usleep: use it to simplify tests
14530         * modules/stat-time-tests (Depends-on): Add usleep.
14531         (configure.ac): Drop usleep check.
14532         * modules/chown-tests (Depends-on, configure.ac): Likewise.
14533         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
14534         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
14535         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
14536         * modules/openat-tests (Depends-on, configure.ac): Likewise.
14537         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
14538         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
14539         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
14540         Likewise.
14541         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
14542         * tests/test-lchown.h (nap): Likewise.
14543         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
14544         * tests/test-stat-time.c (nap): Likewise.
14545         * tests/test-utimens-common.h (nap): Update comments.
14546
14547         usleep: new module
14548         * modules/usleep: New file.
14549         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
14550         * lib/usleep.c (usleep): Likewise.
14551         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
14552         * modules/unistd (Makefile.am): Substitute witnesses.
14553         * lib/unistd.in.h (usleep): Add declaration.
14554         * doc/pastposix-functions/usleep.texi (usleep): Document this.
14555         * MODULES.html.sh (Date and time): Likewise.
14556         * modules/usleep-tests (Depends-on): New test.
14557         * tests/test-usleep.c: New file.
14558
14559         chown: work around OpenBSD bug
14560         * lib/chown.c (rpl_chown): Work around the bug.
14561         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
14562         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
14563         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
14564         * modules/chown (Depends-on): Add stdbool.
14565         * modules/lchown (Depends-on): Likewise.
14566         * doc/posix-functions/chown.texi (chown): Document the bug.
14567         * doc/posix-functions/lchown.texi (lchown): Likewise.
14568         * tests/test-lchown.h (test_chown): Relax test.
14569
14570         mkstemp: avoid conflict with C++ keyword template
14571         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
14572         * lib/mkostemp.c (mkostemp): Likewise.
14573         * lib/mkostemps.c (mkostemps): Likewise.
14574         * lib/mkstemp.c (mkstemp): Likewise.
14575         * lib/mkstemps.c (mkstemps): Likewise.
14576
14577         xalloc-die-tests: optimize
14578         * tests/test-xalloc-die.sh: Reduce number of processes.
14579
14580 2009-11-17  Simon Josefsson  <simon@josefsson.org>
14581
14582         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
14583         patch from ludo@gnu.org (Ludovic Courtès).
14584
14585 2009-11-17  Jim Meyering  <meyering@redhat.com>
14586
14587         version-etc: use proper license string
14588         * modules/version-etc (License): Use LGPL, not LGPLv3+.
14589         * modules/version-etc-fsf: Likewise.
14590
14591 2009-11-17  Simon Josefsson  <simon@josefsson.org>
14592
14593         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
14594         printed to stdout.  Deal with EOL differences.
14595
14596 2009-11-17  Eric Blake  <ebb9@byu.net>
14597
14598         unsetenv: work around Solaris bug
14599         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
14600         * lib/unsetenv.c (rpl_unsetenv): Work around it.
14601         Reported by Jim Meyering.
14602
14603         vasnprintf: avoid compiler warnings
14604         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
14605         variables.
14606         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
14607
14608 2009-11-17  Simon Josefsson  <simon@josefsson.org>
14609
14610         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
14611         settings since xalloc-die is no longer the self test,
14612         xalloc-die.sh is.
14613
14614 2009-11-17  Jim Meyering  <meyering@redhat.com>
14615
14616         test-xalloc-die.sh: make the code agree with the commit log
14617         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
14618         at the end, just in case you happen to have a test-xalloc-die
14619         program in some other PATH directory.
14620
14621         test-xalloc-die.sh: fix a portability bug
14622         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
14623         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
14624         Otherwise, argv[0] (as often seen in diagnostics) would be too
14625         system-dependent, sometimes with, and sometimes without the leading "./".
14626
14627         version-etc-fsf: relax license to LGPLv3+
14628         * modules/version-etc-fsf (License): Relax license.
14629
14630 2009-11-16  Eric Blake  <ebb9@byu.net>
14631
14632         xalloc-die-tests: avoid printing null pointer
14633         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
14634         shell script.
14635         * tests/test-xalloc-die.c (program_name): Declare.
14636         * tests/test-xalloc-die.sh (tmpfiles): New file.
14637
14638         setenv, unsetenv: work around various bugs
14639         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
14640         (setenv) [HAVE_SETENV]: Work around bugs.
14641         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
14642         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
14643         for bugs.
14644         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
14645         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
14646         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
14647         * modules/stdlib (Makefile.am): Update substitutions.
14648         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
14649         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
14650         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
14651         * modules/setenv-tests: New test.
14652         * modules/unsetenv-tests: Likewise.
14653         * tests/test-setenv.c: New file.
14654         * tests/test-unsetenv.c: Likewise.
14655
14656 2009-11-16  Jim Meyering  <meyering@redhat.com>
14657
14658         version-etc: relax license to LGPLv3+
14659         * modules/version-etc (License): Relax license.
14660
14661         better AC_REQUIRE expanded-before-required-warning avoidance
14662         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
14663         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
14664         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
14665         which is no longer needed.
14666
14667 2009-11-16  Eric Blake  <ebb9@byu.net>
14668
14669         test-freading: clean up temporary file
14670         * tests/test-freading.c (main): Remove file on success, and use
14671         ASSERT more liberally.
14672         Reported by Jim Meyering.
14673
14674 2009-11-16  Jim Meyering  <meyering@redhat.com>
14675
14676         avoid new AC_REQUIRE expanded-before-required warnings
14677         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
14678         merely using it.
14679         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
14680         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
14681
14682 2009-11-15  Simon Josefsson  <simon@josefsson.org>
14683
14684         * tests/test-xalloc-die.c: New file.
14685         * modules/xalloc-die-tests: New file.
14686         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
14687         XFAIL_TESTS so it can be appended by modules.
14688
14689 2009-11-15  Simon Josefsson  <simon@josefsson.org>
14690
14691         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
14692         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
14693
14694 2009-11-14  Eric Blake  <ebb9@byu.net>
14695
14696         fnmatch: avoid compiler warning
14697         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
14698         to silence compiler warning about mismatch signedness in ?:.
14699         Reported by Robert Millan.
14700
14701         intprops: add double-inclusion guard
14702         * lib/intprops.h: Allow idempotent includes.
14703         Suggested by Bruce Korb.
14704
14705         openat: detect Solaris fchownat bug
14706         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
14707         penalizing glibc chownat when only lchownat is broken.
14708         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
14709         trailing slash bugs.
14710         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
14711         * modules/openat-tests (Files): Include more files.
14712         (Depends-on): Add mgetgroups, sleep, stat-time.
14713         (configure.ac): Add additional checks.
14714         (Makefile.am): Build new test.
14715         * tests/test-fchownat.c: New file.
14716
14717         lchown: detect Solaris and FreeBSD bug
14718         * lib/lchown.c (rpl_lchown): Work around bug.
14719         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
14720         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
14721         * modules/unistd (Makefile.am): Populate it.
14722         * lib/unistd.in.h (lchown): Update declaration.
14723         * doc/posix-functions/lchown.texi (lchown): Document the bug.
14724         * modules/lchown-tests: New file.
14725         * tests/test-lchown.h (test_lchown): Likewise.
14726         * tests/test-lchown.c (main): Likewise.
14727
14728         chown: detect Solaris and FreeBSD bug
14729         * lib/chown.c (rpl_chown): Work around bug.
14730         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
14731         (gl_PREREQ_CHOWN): Delete.
14732         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
14733         * modules/unistd (Makefile.am): Populate it.
14734         * lib/unistd.in.h (chown): Update declaration.
14735         * lib/lchown.c (chown): Update client.
14736         * modules/lchown (Depends-on): Add lstat.
14737         * doc/posix-functions/chown.texi (chown): Document the bug.
14738         * doc/posix-functions/getgroups.texi (getgroups): Document
14739         getgroups pitfall.
14740         * modules/chown-tests: New file.
14741         * tests/test-chown.h (test_chown): Likewise.
14742         * tests/test-chown.c (main): Likewise.
14743
14744 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
14745
14746         gnulib-tool: correctly detect absence of m4 directories
14747         * gnulib-tool: Avoid extra newline on data passed to wc -l.
14748
14749 2009-11-14  Jim Meyering  <meyering@redhat.com>
14750
14751         maint.mk: Prohibit inclusion of "xalloc.h" without use.
14752         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
14753
14754 2009-11-14  John W. Eaton  <jwe@gnu.org>
14755
14756         strftime.h: wrap funtion declaration in extern "C" block
14757         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
14758
14759 2009-11-13  Eric Blake  <ebb9@byu.net>
14760
14761         getgroups: avoid compiler warning
14762         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
14763
14764         getgroups: work around FreeBSD bug
14765         * lib/getgroups.c (rpl_getgroups): Work around the bug.
14766         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
14767         * doc/posix-functions/getgroups.texi (getgroups): Document it.
14768         * tests/test-getgroups.c (main): Fix buffer overrun.
14769
14770         getgroups: avoid compilation failure
14771         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
14772         * modules/getgroups (Depends-on): Add stdint.
14773
14774 2009-11-13  Jim Meyering  <meyering@redhat.com>
14775
14776         test-getgroups: avoid compilation failure
14777         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
14778
14779 2009-11-13  Eric Blake  <ebb9@byu.net>
14780
14781         mgetgroups: new module, taken from coreutils
14782         * modules/mgetgroups: New file.
14783         * lib/mgetgroups.h: Likewise.
14784         * lib/mgetgroups.c (mgetgroups): Likewise.
14785         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
14786         * MODULES.html.sh (Users and groups): Mention it.
14787
14788         getgroups: don't expose GETGROUPS_T to user
14789         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
14790         an element at a time if GETGROUPS_T is wrong size.
14791         * lib/getugroups.h (getugroups): Change signature.
14792         * lib/unistd.in.h (getgroups): Likewise.
14793         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
14794         signature needs fixing.
14795         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
14796         AC_TYPE_GETGROUPS.
14797         * modules/group-member (Depends-on): Add getgroups.
14798         * lib/group-member.c (group_info, get_group_info): Use gid_t.
14799         (group_member): Rely on getgroups replacement.
14800         * lib/getugroups.c (getugroups): Use gid_t.
14801         * tests/test-getgroups.c (main): Likewise.
14802         * NEWS: Mention the signature change.
14803         * doc/posix-functions/getgroups.texi (getgroups): Mention the
14804         problem with signature.
14805         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
14806         GETGROUPS_T is still useful for setgroups.
14807
14808         getgroups, getugroups: provide stubs for mingw
14809         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
14810         * lib/getugroups.c (getugroups): Likewise.
14811         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
14812         function.  Modernize replacement scheme.
14813         (gl_PREREQ_GETGROUPS): Delete.
14814         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
14815         * modules/getgroups (configure.ac): Declare witness.
14816         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
14817         * modules/unistd (Depends-on): Substitute witness.
14818         * lib/unistd.in.h (getgroups): Declare replacement.
14819
14820         getgroups: avoid calling exit
14821         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
14822         drop xalloc.
14823         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
14824         dependencies.
14825         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
14826         exiting, in the rare case of malloc failure.
14827
14828         getgroups: fix logic error
14829         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
14830         has more than 20 groups.
14831         * modules/getgroups-tests: New test.
14832         * tests/test-getgroups.c: New file.
14833
14834 2009-11-13  Simon Josefsson  <simon@josefsson.org>
14835
14836         * tests/test-base64.c: Improve.
14837
14838 2009-11-13  Simon Josefsson  <simon@josefsson.org>
14839
14840         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
14841         Blake <ebb9@byu.net>.
14842
14843 2009-11-13  Simon Josefsson  <simon@josefsson.org>
14844
14845         * tests/test-xvasprintf.c: Add %s%s related checks.
14846
14847 2009-11-12  Eric Blake  <ebb9@byu.net>
14848
14849         version-etc: match standards.texi style
14850         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
14851         and use <> only for URLs.
14852
14853 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
14854
14855         fts: do not fail on a submount during traversal
14856         * lib/fts.c (fts_build): Read the stat info again after opening
14857         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
14858         Original report at http://bugzilla.redhat.com/501848.
14859
14860 2009-11-12  Jim Meyering  <meyering@redhat.com>
14861
14862         bootstrap: sync from coreutils
14863         * build-aux/bootstrap (bootstrap_epilogue): New function.
14864         Use git_modules_config in one more place.  This make bootstrap's
14865         --gnulib-srcdir option more useful for testing.
14866
14867         bootstrap: generalize autoheader check
14868         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
14869         AC_CONFIG_HEADERS.
14870
14871 2009-11-11  Eric Blake  <ebb9@byu.net>
14872
14873         mkfifoat: use new modules for Solaris and BSD bugs
14874         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
14875         * lib/mkfifoat.c (mknodat): Split...
14876         * lib/mknodat.c (mknodat): ...into new file.
14877         * modules/mkfifoat (Files): Ship new file.
14878         (Depends-on): Add mkfifo, mknod.
14879         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
14880         (Depends-on): Add symlink.
14881         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
14882         redundant with test_mkfifo.h.
14883         (do_mkfifoat, do_mknodat): New helpers.
14884
14885         mknod: new module
14886         * modules/mknod: New file.
14887         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
14888         * lib/mknod.c (mknod): Likewise.
14889         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
14890         defaults.
14891         * modules/sys_stat (Makefile.am): Substitute them.
14892         * lib/sys_stat.in.h (mknod): Declare replacement.
14893         * MODULES.html.sh (Support for systems lacking POSIX:2008):
14894         Document it.
14895         * doc/posix-functions/mknod.texi (mknod): Likewise.
14896         * modules/mknod-tests: New test.
14897         * tests/test-mknod.c: Likewise.
14898
14899         mkfifo: new module
14900         * modules/mkfifo: New file.
14901         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
14902         * lib/mkfifo.c (mkfifo): Likewise.
14903         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
14904         defaults.
14905         * modules/sys_stat (Makefile.am): Substitute them.
14906         * lib/sys_stat.in.h (mkfifo): Declare replacement.
14907         * MODULES.html.sh (Support for systems lacking POSIX:2008):
14908         Document it.
14909         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
14910         * modules/mkfifo-tests: New test.
14911         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
14912         from test-mkfifoat.c.
14913         * tests/test-mkfifo.c: New file.
14914
14915         readlink: detect FreeBSD bug
14916         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
14917         slash on symlink.
14918         * doc/posix-functions/readlink.texi (readlink): Document the bug.
14919         * tests/test-readlink.h (test_readlink): Enhance test.
14920
14921         symlink: detect FreeBSD bug
14922         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
14923         slash on symlink.
14924         * doc/posix-functions/symlink.texi (symlink): Document the bug.
14925         * tests/test-symlink.h (test_symlink): Enhance test.
14926
14927 2009-11-10  Eric Blake  <ebb9@byu.net>
14928
14929         link: detect FreeBSD bug
14930         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
14931         symlink.
14932         * doc/posix-functions/link.texi (link): Document the bug.
14933         * tests/test-link.h (test_link): Enhance test.
14934         * tests/test-linkat.c (main): Update caller.
14935
14936         unlink, remove: detect FreeBSD bug
14937         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
14938         slash on symlink.
14939         * doc/posix-functions/unlink.texi (unlink): Document the bug.
14940         * doc/posix-functions/remove.texi (remove): Likewise.
14941         * tests/test-unlink.h (test_unlink): Enhance test.
14942         * tests/test-remove.c (main): Likewise.
14943
14944 2009-11-09  Eric Blake  <ebb9@byu.net>
14945
14946         rename: detect FreeBSD bug
14947         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
14948         slash on symlink.
14949         * modules/renameat-tests (Depends-on): Add filenamecat.
14950         * tests/test-rename.h (test_rename): Allow one more errno.
14951         * tests/test-renameat.c (main): Likewise.
14952         * doc/posix-functions/rename.texi (rename): Document the bug.
14953
14954         open: detect FreeBSD bug
14955         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
14956         symlink.
14957         * doc/posix-functions/open.texi (open): Document the bug.
14958         * doc/posix-functions/utimes.texi (utimes): Likewise.
14959         * tests/test-open.h (test_open): Add parameters, and test symlink
14960         handling.
14961         * tests/test-open.c (main): Adjust caller.
14962         * tests/test-fcntl-safer.c (main): Likewise.
14963         * modules/open-tests (Depends-on): Add stdbool, symlink.
14964         * modules/fcntl-safer-tests (Depends-on): Likewise.
14965         * tests/test-openat.c (main): Add test-open tests.
14966
14967         stat: detect FreeBSD bug
14968         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
14969         symlink.
14970         * doc/posix-functions/stat.texi (stat): Document the bug.
14971         * tests/test-stat.h (test_stat_func): Add argument.
14972         * tests/test-stat.c (main): Adjust caller.
14973         * tests/test-fstatat.c (main): Likewise.
14974         * modules/stat-tests (Depends-on): Add stdbool, symlink.
14975         Reported by Jim Meyering.
14976
14977 2009-11-09  James Youngman  <jay@gnu.org>
14978
14979         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
14980         * lib/strftime.c: Correct placement of #include "ignore-value.h".
14981
14982 2009-11-08  Jim Meyering  <meyering@redhat.com>
14983
14984         utimens: remove invalid futimesat call
14985         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
14986         It used the file descriptor of the target file as the DIR_FD
14987         parameter and NULL as the file name.  That caused failure with
14988         errno == EFAULT on FreeBSD-8.0-rc2
14989
14990 2009-11-07  Eric Blake  <ebb9@byu.net>
14991
14992         fflush, freadseek: use fseeko, not fseek
14993         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
14994         (clear_ungetc_buffer): Avoid potential problems on large files.
14995         * lib/freadseek.c (freadseek): Likewise.
14996         * modules/freadseek (Depends-on): Add fseeko.
14997         * modules/fseek (configure.ac): Set a witness.
14998         * tests/test-fflush.c (main): Use fseeko.
14999         * tests/test-fpurge.c (fseek): Disable link warning.
15000         * tests/test-freadable.c (fseek): Likewise.
15001         * tests/test-freading.c (fseek): Likewise.
15002         * tests/test-fseeko.c (fseek): Likewise.
15003         * tests/test-ftell.c (fseek): Likewise.
15004         * tests/test-ftello.c (fseek): Likewise.
15005         * tests/test-fwritable.c (fseek): Likewise.
15006         * tests/test-fwriting.c (fseek): Likewise.
15007
15008 2009-11-06  Simon Josefsson  <simon@josefsson.org>
15009
15010         * modules/memchr (Depends-on): Drop getpagesize dependency.
15011
15012 2009-11-06  Simon Josefsson  <simon@josefsson.org>
15013
15014         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
15015         Reported by Ludovic Courtès.
15016         * build-aux/pmccabe2html: Improve example usage.
15017         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
15018
15019 2009-11-06  Jim Meyering  <meyering@redhat.com>
15020
15021         do-release-commit-and-tag: New module.
15022         Automate the release-commit and tag process.
15023         * build-aux/do-release-commit-and-tag: New script, from coreutils.
15024         * modules/do-release-commit-and-tag: New file.
15025         * MODULES.html.sh (Support for maintaining and releasing): Add it.
15026
15027 2009-11-06  Simon Josefsson  <simon@josefsson.org>
15028
15029         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
15030         because test-select.c uses inet_pton.
15031
15032 2009-11-06  Simon Josefsson  <simon@josefsson.org>
15033
15034         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
15035         GETADDRINFO_LIB.  Bump serial number.
15036         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
15037         Suggested by Eric Blake <ebb9@byu.net>.
15038
15039 2009-11-05  Eric Blake  <ebb9@byu.net>
15040
15041         strtod: detect darwin bug
15042         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
15043         Reported by Leo Davis.
15044
15045         freopen-safer: new module
15046         * modules/freopen-safer: New module.
15047         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
15048         * lib/freopen-safer.c (freopen_safer): New file.
15049         * lib/stdio-safer.h (freopen_safer): New declaration.
15050         * lib/stdio--.h (freopen): New override.
15051         * MODULES.html.sh (File stream based Input/Output): Mention it.
15052         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
15053         freopen-safer module.
15054         * doc/posix-functions/stderr.texi (stderr): Likewise.
15055         * doc/posix-functions/stdin.texi (stdin): Likewise.
15056         * doc/posix-functions/stdout.texi (stdout): Likewise.
15057         * modules/freopen-safer-tests: New test.
15058         * tests/test-reopen-safer.c: New file.
15059
15060 2009-11-05  Jim Meyering  <meyering@redhat.com>
15061
15062         maint.mk: Prohibit inclusion of "close-stream.h" without use.
15063         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
15064
15065 2009-11-05  Simon Josefsson  <simon@josefsson.org>
15066
15067         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
15068
15069 2009-11-05  Simon Josefsson  <simon@josefsson.org>
15070
15071         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
15072
15073 2009-11-05  Simon Josefsson  <simon@josefsson.org>
15074
15075         Fix link error.
15076         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
15077         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
15078
15079 2009-11-05  Simon Josefsson  <simon@josefsson.org>
15080
15081         * tests/test-func.c: Also test value of __func__.
15082
15083 2009-11-05  Simon Josefsson  <simon@josefsson.org>
15084
15085         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
15086         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
15087
15088 2009-11-05  Bruno Haible  <bruno@clisp.org>
15089
15090         Fix link error.
15091         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
15092         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
15093         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
15094
15095 2009-11-05  Bruno Haible  <bruno@clisp.org>
15096
15097         Tests for module 'inet_pton'.
15098         * modules/inet_pton-tests: New file.
15099         * tests/test-inet_pton.c: New file.
15100
15101 2009-11-05  Bruno Haible  <bruno@clisp.org>
15102
15103         Tests for module 'inet_ntop'.
15104         * modules/inet_ntop-tests: New file.
15105         * tests/test-inet_ntop.c: New file.
15106
15107 2009-11-04  Eric Blake  <ebb9@byu.net>
15108
15109         stdlib-safer: wrap all mkstemp variants
15110         * modules/mkostemp (configure.ac): Set witness.
15111         * modules/mkostemps (configure.ac): Likewise.
15112         * modules/mkstemps (configure.ac): Likewise.
15113         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
15114         (mkstemps_safer): Wrap more functions.
15115         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
15116         wrapping.
15117         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
15118         (mkstemps_safer): Implement the wrappers.
15119
15120         mkstemps, mkostemps: new modules
15121         * modules/mkostemps: New module.
15122         * modules/mkstemps: Likewise.
15123         * lib/mkostemps.c (mkostemps): New file.
15124         * lib/mkstemps.c (mkstemps): Likewise.
15125         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
15126         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
15127         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
15128         * modules/stdlib (Makefile.am): Substitute them.
15129         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
15130         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
15131         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
15132         * doc/gnulib.texi (Glibc stdlib.h): Include them.
15133         * MODULES.html.sh (File system functions): Mention them.
15134
15135         tempname: resync from glibc
15136         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
15137         same values for __GT_FILE as glibc.  Abort even when assertions
15138         are disabled.
15139         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
15140         match its value otherwise.  Allow idempotent inclusion.
15141         * lib/mkdtemp.c (mkdtemp): Adjust caller.
15142         * lib/mkostemp.c (mkostemp): Likewise.
15143         * lib/mkstemp.c (mkstemp): Likewise.
15144         * lib/tmpfile.c (tmpfile): Likewise.
15145         * NEWS: Document this.
15146
15147         utimens: fix use of futimens on older Linux
15148         * lib/utimens.c (fdutimens): Use updated, rather than original,
15149         timespec to avoid bug in older Linux kernel.
15150         Reported by Simon Josefsson.
15151
15152 2009-11-04  Bruno Haible  <bruno@clisp.org>
15153
15154         Make num_processors more flexible and consistent.
15155         * lib/nproc.h (enum nproc_query): New type.
15156         (num_processors): Add a 'query' argument.
15157         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
15158         (num_processors): Add a 'query' argument. Test the value of the
15159         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
15160         mingw, count the number of CPUs available for the current process.
15161         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
15162         Check for sched_getaffinity and sched_getaffinity_np.
15163         * modules/nproc (Depends-on): Add c-ctype, extensions.
15164         * NEWS: Mention the change.
15165
15166 2009-11-03  Bruno Haible  <bruno@clisp.org>
15167
15168         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
15169
15170 2009-11-03  Jim Meyering  <meyering@redhat.com>
15171
15172         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
15173         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
15174         if it is defined.
15175
15176 2009-11-02  Eric Blake  <ebb9@byu.net>
15177
15178         mktime, timegm: share common declaration
15179         * lib/mktime-internal.h: New file.
15180         * lib/mktime.c: Use it rather than open-coding a declaration.
15181         * lib/timegm.c: Likewise.
15182         * modules/mktime (Files): Ship it.
15183         * modules/timegm (Files): Likewise.
15184         Suggested by Bruno Haible.
15185
15186         test-update-copyright: update test to match script changes
15187         * tests/test-update-copyright.sh: Avoid hard-coding perl
15188         location.  Don't update *.bak created by earlier runs.
15189
15190 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
15191             Simon Josefsson  <simon@josefsson.org>
15192             Bruno Haible  <bruno@clisp.org>
15193
15194         Fix link error on Solaris 8.
15195         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
15196         also in libnsl. Define also INET_PTON_LIB.
15197         * modules/inet_pton (Link): New section.
15198
15199 2009-11-02  Simon Josefsson  <simon@josefsson.org>
15200             Bruno Haible  <bruno@clisp.org>
15201
15202         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
15203         * modules/inet_ntop (Link): New section.
15204         Reported by Boyan Kasarov <bkasarov@gmail.com>.
15205
15206 2009-11-02  Eric Blake  <ebb9@byu.net>
15207
15208         maint: avoid compiler warnings in m4 macros
15209         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
15210         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
15211
15212 2009-11-02  Simon Josefsson  <simon@josefsson.org>
15213
15214         * m4/pmccabe2html.m4: Remove file.
15215         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
15216         function.  Change maintainer.
15217         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
15218         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
15219         Courtès).
15220
15221 2009-10-31  Eric Blake  <ebb9@byu.net>
15222
15223         fseeko: fix m4 regression
15224         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
15225         regression from 2009-10-27.
15226         Reported by Ralf Wildenhues.
15227
15228 2009-10-31  Jim Meyering  <meyering@redhat.com>
15229
15230         inttostr: aesthetics and improved (compile-time) safety
15231         Define inttype_is_signed rather than inttype_is_unsigned,
15232         since the sole use is via "#if inttype_is_signed".
15233         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
15234         inttype_is_unsigned.
15235         * lib/offtostr.c (inttype_is_signed): Likewise.
15236         * lib/uinttostr.c (inttype_is_signed): Likewise.
15237         * lib/umaxtostr.c (inttype_is_signed): Likewise.
15238         * lib/inttostr.c (inttostr): Use verify to cross-check the
15239         inttype_is_signed value and the signedness of the actual type.
15240         * modules/inttostr (Depends-on): Add verify.
15241
15242 2009-10-30  Eric Blake  <ebb9@byu.net>
15243
15244         build: avoid compiler warnings
15245         * lib/fchmodat.c (lchmod): Mark unused variables.
15246         * lib/getopt.c (_getopt_initialize): Likewise.
15247         * lib/mktime.c (__mktime_internal): Provide prototype.
15248         * lib/inttostr.c (inttostr): Avoid compiler warning even with
15249         older gcc that do not understand #pragma GCC diagnostic.
15250         * lib/uinttostr.c (inttype_is_unsigned): Define.
15251         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
15252
15253 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
15254
15255         stat: fix compilation on AIX
15256         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
15257         only see struct stat64.
15258
15259 2009-10-30  Eric Blake  <ebb9@byu.net>
15260
15261         exclude: make more robust
15262         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
15263         rather than masking a coding bug.
15264         Suggested by Bruno Haible.
15265
15266 2009-10-30  Jim Meyering  <meyering@redhat.com>
15267
15268         perl scripts: remove #!/usr/bin/perl in favor of more portable...
15269         Rather than putting #!/usr/bin/perl on the first line,
15270         start with a variant of what's recommended by "man perlrun" that
15271         invokes the first "perl" program from your shell's search path.
15272         * build-aux/gitlog-to-changelog: Replace #!... as above.
15273         Add a "Local Variables" perl mode setting.
15274         Prompted by a patch from Ludovic Courtès.
15275         Improved by Eric Blake.
15276         * build-aux/useless-if-before-free: Likewise.
15277         * build-aux/announce-gen: Likewise.
15278         * build-aux/update-copyright: Likewise.
15279
15280 2009-10-29  Eric Blake  <ebb9@byu.net>
15281
15282         filenamecat-lgpl: adjust clients
15283         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
15284         filenamecat.
15285         * modules/renameat (Depends-on): Likewise.
15286
15287         filenamecat: split into filenamecat-lgpl
15288         * modules/filenamecat-lgpl: New module.
15289         * modules/filenamecat (Files): Move library-safe files into
15290         filenamecat-lgpl.
15291         (Depends-on): Add filenamecat-lgpl.
15292         (configure.ac): Declare witness.
15293         * lib/filenamecat.h (file_name_concat): Only declare when using
15294         GPL module.
15295         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
15296         Move...
15297         * lib/filenamecat-lgpl.c: ...into new file.
15298         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
15299         (gl_FILE_NAME_CONCAT): Use it.
15300         * MODULES.html.sh (File system functions): Mention new module.
15301
15302         argp: avoid memory leak
15303         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
15304         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
15305         base_name, since the latter malloc()s and can call exit().
15306         Leak introduced 2006-07-03.
15307
15308         dirname-lgpl: adjust clients that don't need full dirname
15309         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
15310         * modules/filenamecat (Depends-on): Likewise.
15311         * modules/linkat (Depends-on): Likewise.
15312         * modules/mkancesdirs (Depends-on): Likewise.
15313         * modules/mkdir (Depends-on): Likewise.
15314         * modules/openat (Depends-on): Likewise.
15315         * modules/savewd (Depends-on): Likewise.
15316         * modules/rename (Depends-on): Likewise.
15317         (License): Relax license.
15318         * modules/mkdir-tests (Depends-on): Drop progname.
15319         (Makefile.am): Delete unneeded LDADD.
15320         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
15321
15322         dirname: split into dirname-lgpl
15323         * modules/dirname-lgpl: New module.
15324         * modules/dirname (Files): Move library-safe files into
15325         dirname-lgpl.
15326         (Depends-on): Add dirname-lgpl.
15327         (configure.ac): Declare witness.
15328         * modules/double-slash-root (License): Relax license.
15329         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
15330         module.
15331         * lib/dirname.c (dir_len, mdir_name): Move...
15332         * lib/dirname-lgpl.c: ...into new file.
15333         * lib/basename.c (last_component, base_len): Move...
15334         * lib/basename-lgpl.c: ...into new file.
15335         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
15336         (gl_DIRNAME): Use it.
15337         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
15338         Mention new module.
15339         * modules/dirname-tests (Depends-on): Add progname.
15340         * tests/test-dirname.c (program_name): Delete.
15341
15342         mkdir: make safe for libraries
15343         * modules/mkdir (Depends-on): Drop xalloc.
15344         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
15345         exit.
15346
15347         tests: avoid some compiler warnings
15348         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
15349         literals.
15350         * tests/test-memchr.c (main): Avoid type mismatch.
15351         * tests/test-arpa_inet.c (main): Avoid unused parameters.
15352         * tests/test-base64.c (main): Likewise.
15353         * tests/test-getdelim.c (main): Likewise.
15354         * tests/test-gethostname.c (main): Likewise.
15355         * tests/test-getline.c (main): Likewise.
15356         * tests/test-netinet_in.c (main): Likewise.
15357         * tests/test-select.c (open_server_socket, main): Likewise.
15358         * tests/test-select-stdin.c (main): Likewise.
15359         * tests/test-sockets.c (main): Likewise.
15360         * tests/test-strsignal.c (main): Likewise.
15361         * tests/test-sys_select.c (main): Likewise.
15362         * tests/test-sys_socket.c (main): Likewise.
15363         * tests/test-u64.c (main): Likewise.
15364         * tests/test-xfprintf-posix.c (main): Likewise.
15365         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
15366
15367         sockets: avoid compiler warning
15368         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
15369
15370         maint: detect usage(1) and other suspicious exits
15371         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
15372
15373 2009-10-29  Jim Meyering  <meyering@redhat.com>
15374
15375         timespec: long-to-int truncation could make timespec_cmp malfunction
15376         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
15377         a multiple of 2^32 nanoseconds as no difference.
15378
15379 2009-10-28  Jim Meyering  <meyering@redhat.com>
15380
15381         fprintftime: wrap macro code argument in "do {...} while(0)"
15382         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
15383         cpy macro must be a statement that can be followed by a semicolon.
15384         Now that the else clause contains a comment and is hence longer
15385         than one line, I require curly braces.  That in turn requires
15386         that we wrap this code block in the standard do...while(0).
15387
15388         fprintftime: remove stray semicolon from previous change
15389         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
15390
15391         fprintftime: avoid a warning about ignored fwrite return value
15392         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
15393         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
15394         that is unsafe.
15395         * modules/fprintftime (Depends-on): Add ignore-value.
15396
15397         exclude: avoid an unwarranted warning
15398         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
15399
15400 2009-10-27  Eric Blake  <ebb9@byu.net>
15401
15402         fseek: avoid compilation failure when fflush is replaced
15403         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
15404         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
15405         module is in use.
15406         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
15407         module is not in use; since REPLACE_FSEEK worked otherwise.
15408         (GNULIB_FTELLO): Likewise for ftell.
15409         Reported by Ian Beckwith and others.
15410
15411 2009-10-27  Bruno Haible  <bruno@clisp.org>
15412
15413         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
15414         Reported by Jim Meyering.
15415
15416 2009-10-27  Jim Meyering  <jim@meyering.net>
15417             Bruno Haible  <bruno@clisp.org>
15418
15419         Avoid warning despite dropping the return value of fwrite.
15420         * lib/unicodeio.c: Include ignore-value.h.
15421         (fwrite_success_callback): Explicitly ignore fwrite's return value.
15422         * modules/unicodeio (Depends-on): Add ignore-value.
15423
15424 2009-10-26  Eric Blake  <ebb9@byu.net>
15425
15426         areadlinkat: fix fallback path
15427         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
15428         pointer and zero.
15429
15430 2009-10-22  Pádraig Brady  <P@draigBrady.com>
15431
15432         Use a better IO block size for modern systems
15433         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
15434         * lib/md2.c: Likewise.
15435         * lib/md4.c: Likewise.
15436         * lib/md5.c: Likewise.
15437         * lib/sha1.c: Likewise.
15438         * lib/sha256.c: Likewise.
15439         * lib/sha512.c: Likewise.
15440
15441 2009-10-22  Eric Blake  <ebb9@byu.net>
15442
15443         tests: avoid several compiler warnings
15444         * tests/test-getcwd.c (main): Avoid buffer underflow.
15445         * tests/test-getdate.c (main): String literals are not safe with
15446         putenv, so use setenv.  Declare unused argument.
15447         * modules/getdate-tests (Depends-on): Add setenv.
15448         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
15449         problems with string literals in char *.
15450         * tests/test-hash.c (main): Avoid shadowing declaration.
15451         (insert_new): Treat string literals as char const *.
15452         * tests/test-getopt.h (test_getopt): Likewise.
15453         (getopt_loop): Alter types to minimize casting elsewhere.
15454         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
15455         (test_getopt_long_posix): Likewise.
15456         (do_getopt_long): Add wrapper to minimize casting.
15457         * tests/test-atexit.c (clear_temp_file): Use void.
15458         * tests/test-areadlink-with-size.c (main): Declare unused
15459         arguments.
15460         * tests/test-areadlink.c (main): Likewise.
15461         * tests/test-areadlinkat-with-size.c (main): Likewise.
15462         * tests/test-areadlinkat.c (main): Likewise.
15463         * tests/test-canonicalize-lgpl.c (main): Likewise.
15464         * tests/test-canonicalize.c (main): Likewise.
15465         * tests/test-dirent-safer.c (main): Likewise.
15466         * tests/test-dirname.c (main): Likewise.
15467         * tests/test-dup2.c (main): Likewise.
15468         * tests/test-fchdir.c (main): Likewise.
15469         * tests/test-fcntl-h.c (main): Likewise.
15470         * tests/test-fcntl-safer.c (main): Likewise.
15471         * tests/test-fdopendir.c (main): Likewise.
15472         * tests/test-fdutimensat.c (main): Likewise.
15473         * tests/test-fflush.c (main): Likewise.
15474         * tests/test-filenamecat.c (main): Likewise.
15475         * tests/test-filevercmp.c (main): Likewise.
15476         * tests/test-fopen-safer.c (main): Likewise.
15477         * tests/test-fopen.c (main): Likewise.
15478         * tests/test-fpending.c (main): Likewise.
15479         * tests/test-fpurge.c (main): Likewise.
15480         * tests/test-freading.c (main): Likewise.
15481         * tests/test-fstatat.c (main): Likewise.
15482         * tests/test-fsync.c (main): Likewise.
15483         * tests/test-futimens.c (main): Likewise.
15484         * tests/test-getndelim2.c (main): Likewise.
15485         * tests/test-gettimeofday.c (main): Likewise.
15486         * tests/test-getopt.c (main): Likewise.
15487         * tests/test-i-ring.c (main): Likewise.
15488         * tests/test-inttypes.c (main): Likewise.
15489         * tests/test-link.c (main): Likewise.
15490         * tests/test-lstat.c (main): Likewise.
15491         * tests/test-math.c (main): Likewise.
15492         * tests/test-md5.c (main): Likewise.
15493         * tests/test-memchr2.c (main): Likewise.
15494         * tests/test-memrchr.c (main): Likewise.
15495         * tests/test-mkdir.c (main): Likewise.
15496         * tests/test-mkdirat.c (main): Likewise.
15497         * tests/test-mkfifoat.c (main): Likewise.
15498         * tests/test-open.c (main): Likewise.
15499         * tests/test-openat-safer.c (main): Likewise.
15500         * tests/test-openat.c (main): Likewise.
15501         * tests/test-quotearg.c (main): Likewise.
15502         * tests/test-rawmemchr.c (main): Likewise.
15503         * tests/test-readlink.c (main): Likewise.
15504         * tests/test-remove.c (main): Likewise.
15505         * tests/test-rename.c (main): Likewise.
15506         * tests/test-renameat.c (main): Likewise.
15507         * tests/test-rmdir.c (main): Likewise.
15508         * tests/test-sha1.c (main): Likewise.
15509         * tests/test-signal.c (main): Likewise.
15510         * tests/test-sigaction.c (main): Likewise.
15511         * tests/test-stat.c (main): Likewise.
15512         * tests/test-stat-time.c (main): Likewise.
15513         * tests/test-stddef.c (main): Likewise.
15514         * tests/test-stdint.c (main): Likewise.
15515         * tests/test-stdio.c (main): Likewise.
15516         * tests/test-stdlib.c (main): Likewise.
15517         * tests/test-strchrnul.c (main): Likewise.
15518         * tests/test-strerror.c (main): Likewise.
15519         * tests/test-string.c (main): Likewise.
15520         * tests/test-strtod.c (main): Likewise.
15521         * tests/test-strverscmp.c (main): Likewise.
15522         * tests/test-symlink.c (main): Likewise.
15523         * tests/test-symlinkat.c (main): Likewise.
15524         * tests/test-sys_stat.c (main): Likewise.
15525         * tests/test-sys_time.c (main): Likewise.
15526         * tests/test-time.c (main): Likewise.
15527         * tests/test-unistd.c (main): Likewise.
15528         * tests/test-unlink.c (main): Likewise.
15529         * tests/test-unlinkat.c (main): Likewise.
15530         * tests/test-utimens.c (main): Likewise.
15531         * tests/test-utimensat.c (main): Likewise.
15532         * tests/test-version-etc.c (main): Likewise.
15533         * tests/test-wchar.c (main): Likewise.
15534         * tests/test-wctype.c (main): Likewise.
15535         * tests/test-xprintf-posix.c (main): Likewise.
15536         * tests/test-posixtm.c (main): Likewise.
15537         (STREQ): Delete unused macro.
15538         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
15539         shadowed variables.
15540         * tests/test-memchr.c (main): Likewise.
15541
15542 2009-10-21  Eric Blake  <ebb9@byu.net>
15543
15544         areadlinkat: avoid failure on older glibc
15545         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
15546         rather than mis-comparing 0 against FUNC_RESULT of char*.
15547
15548 2009-10-21  Bruno Haible  <bruno@clisp.org>
15549
15550         * modules/stpncpy (License): Relicense under LGPLv2+.
15551         Reported by David Lutterkort <lutter@redhat.com>.
15552
15553 2009-10-20  Eric Blake  <ebb9@byu.net>
15554
15555         utimensat: work around Solaris 9 bug
15556         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
15557         has trailing slash bugs.
15558         * tests/test-lutimens.h (test_lutimens): Enhance test.
15559         * tests/test-utimens.h (test_utimens): Likewise.
15560         * doc/posix-functions/utime.texi (utime): Enhance documentation.
15561         * doc/posix-functions/utimes.texi (utimes): Likewise.
15562         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
15563         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
15564         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
15565         * doc/posix-functions/futimens.texi (futimens): Likewise.
15566
15567         fdutimensat: new module
15568         * modules/fdutimensat: New file.
15569         * lib/fdutimensat.c (fdutimensat): Likewise.
15570         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
15571         * MODULES.html.sh (File system functions): Mention module.
15572         * modules/fdutimensat-tests: New test.
15573         * tests/test-fdutimensat.c: Likewise.
15574
15575         doc: regenerate INSTALL
15576         * doc/INSTALL: Reflect recent autoconf update.
15577         * doc/INSTALL.ISO: Likewise.
15578         * doc/INSTALL.UTF-8: Likewise.
15579
15580 2009-10-20  Pádraig Brady  <P@draigBrady.com>
15581
15582         acl: warn if ACL support is not detected
15583         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
15584
15585 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
15586
15587         * lib/nproc.h: Add extern "C" block for C++.
15588
15589 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
15590             Bruno Haible  <bruno@clisp.org>
15591
15592         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
15593         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
15594         * doc/posix-functions/isalpha.texi: Likewise.
15595         * doc/posix-functions/isblank.texi: Likewise.
15596         * doc/posix-functions/iscntrl.texi: Likewise.
15597         * doc/posix-functions/isdigit.texi: Likewise.
15598         * doc/posix-functions/isgraph.texi: Likewise.
15599         * doc/posix-functions/islower.texi: Likewise.
15600         * doc/posix-functions/isprint.texi: Likewise.
15601         * doc/posix-functions/ispunct.texi: Likewise.
15602         * doc/posix-functions/isspace.texi: Likewise.
15603         * doc/posix-functions/isupper.texi: Likewise.
15604         * doc/posix-functions/isxdigit.texi: Likewise.
15605
15606 2009-10-18  Bruno Haible  <bruno@clisp.org>
15607
15608         Tests for module 'isblank'.
15609         * modules/isblank-tests: New file.
15610         * tests/test-isblank.c: New file.
15611
15612         New module 'isblank'.
15613         * lib/isblank.c: New file.
15614         * m4/isblank.m4: New file.
15615         * modules/isblank: New file.
15616         * doc/posix-functions/isblank.texi: Mention the new module.
15617
15618 2009-10-18  Bruno Haible  <bruno@clisp.org>
15619
15620         New module 'ctype'.
15621         * lib/ctype.in.h: New file.
15622         * m4/ctype.m4: New file.
15623         * modules/ctype: New file.
15624         * doc/posix-headers/ctype.texi: Mention the new module.
15625
15626 2009-10-18  Jim Meyering  <meyering@redhat.com>
15627
15628         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
15629         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
15630         right after its initialization, rather than farther down.
15631         Keeping these in close proximity makes it easier to ensure
15632         that each such variable is initialized.  E.g.,
15633
15634             LIB_CLOCK_GETTIME=
15635             AC_SUBST([LIB_CLOCK_GETTIME])
15636
15637         This change also increments these serial numbers.
15638         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
15639         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
15640         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
15641
15642 2009-10-18  Bruno Haible  <bruno@clisp.org>
15643
15644         Don't let environment variables perturb build.
15645         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
15646         (gl_PREREQ_GETHRXTIME): ... not here.
15647
15648 2009-10-18  Bruno Haible  <bruno@clisp.org>
15649
15650         Avoid symlink attack in localcharset module.
15651         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
15652         (O_NOFOLLOW): Define fallback.
15653         (get_charset_aliases): Don't open the file if it is a symbolic link.
15654         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
15655         gl_FCNTL_H.
15656         (gl_FCNTL_H): Require it.
15657         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
15658         * modules/localcharset (Files): Add m4/fcntl_h.m4.
15659         Reported by Fergal Glynn <fglynn@veracode.com>.
15660
15661 2009-10-18  Bruno Haible  <bruno@clisp.org>
15662
15663         Implement nproc for mingw.
15664         * lib/nproc.c: Include <windows.h>
15665         (num_processors): On native Windows platforms, try GetSystemInfo.
15666
15667 2009-10-18  Bruno Haible  <bruno@clisp.org>
15668
15669         Implement nproc for IRIX.
15670         * lib/nproc.c: Include <sys/sysmp.h>.
15671         (num_processors): On IRIX systems, try sysmp.
15672         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
15673
15674 2009-10-18  Bruno Haible  <bruno@clisp.org>
15675
15676         Implement nproc for HP-UX.
15677         * lib/nproc.c: Include <sys/pstat.h>
15678         (num_processors): On HP-UX systems, try pstat_getdynamic.
15679         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
15680         pstat_getdynamic.
15681
15682 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
15683             Bruno Haible  <bruno@clisp.org>
15684
15685         Implement nproc for NetBSD, OpenBSD.
15686         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
15687         (ARRAY_SIZE): New macro.
15688         (num_processors): On BSD systems, try sysctl of HW_NCPU.
15689         * m4/nproc.m4: New file.
15690         * modules/nproc (Files): Add m4/nproc.m4.
15691         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
15692         (Makefile.am): Instead, augment lib_SOURCES.
15693
15694 2009-10-18  Bruno Haible  <bruno@clisp.org>
15695
15696         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
15697         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
15698         sys/param.h.
15699
15700 2009-10-16  Eric Blake  <ebb9@byu.net>
15701
15702         utimensat: new module
15703         * modules/utimensat: New file.
15704         * lib/utimensat.c (utimensat): Likewise.
15705         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
15706         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
15707         so we can work around Linux bugs.
15708         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
15709         * modules/sys_stat (Makefile.am): Substitute them.
15710         * lib/sys_stat.in.h (utimensat): Declare it.
15711         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
15712         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
15713         * modules/utimensat-tests: New test.
15714         * tests/test-utimensat.c: Likewise.
15715
15716         utimens: let lutimens work on non-symlinks
15717         * lib/utimens.c (lutimens): Fall back to utimens rather than
15718         failing with ENOSYS, when file is not a symlink.
15719         (utimens): Reduce redirection.
15720         * tests/test-lutimens.h (test_lutimens): Update test to cover
15721         non-symlinks.
15722         * tests/test-utimens.h (test_utimens): Update test to cover
15723         symlinks.
15724         * tests/test-utimens.c (main): Update caller.
15725
15726         utimens: cache whether utimensat syscall works
15727         * lib/utimens.c (utimensat_works_really): New cache variable.
15728         (fdutimens, lutimens): Use it to avoid failing syscall.
15729
15730         test-stat-time, test-utimens: improve portability
15731         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
15732         ext4 on alpha, and for cygwin.
15733         * tests/test-utimens-common.h: New file.
15734         (nap): Factor delays into single function.
15735         * tests/test-lutimens.h (test_lutimens): Use new header.
15736         * tests/test-futimens.h (test_futimens): Likewise.
15737         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
15738         timestamps to occur from same machine, as was done previously for
15739         test_utimens.
15740         * modules/utimens-tests (Files): Ship new file.
15741         * modules/futimens-tests (Files): Likewise.
15742         Reported in part by Jim Meyering.
15743
15744         sys_stat: sort replacement declarations
15745         * lib/sys_stat.in.h: Sort declarations.
15746         * lib/futimens.c (futimens): Fix typo.
15747
15748 2009-10-15  Jim Meyering  <meyering@redhat.com>
15749
15750         don't let environment settings perturb build
15751         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
15752         could cause a configure-time and/or build-time malfunction.
15753         Typically, a configure-time function-in-library test is performed
15754         via code like this:
15755
15756           LIB_VAR=
15757           AC_SUBST([LIB_VAR])
15758           prefix_saved_LIBS=$LIBS
15759             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
15760                        [test "$ac_cv_search_FUNC" = "none required" ||
15761                         LIB_VAR=$ac_cv_search_FUNC])
15762           LIBS=$prefix_saved_LIBS
15763
15764         However, in each of the files affected by this change, the LIB_VAR=
15765         initialization was omitted.  Thus, when set in the environment, its
15766         value would propagate into generated Makefiles when FUNC is not found
15767         in LIB_NAME.
15768         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
15769         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
15770         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
15771
15772 2009-10-14  Eric Blake  <ebb9@byu.net>
15773
15774         fchdir: avoid infinite recursion in mingw
15775         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
15776         recursing.
15777
15778         test-stat-time: port to mingw
15779         * tests/test-stat-time.c (force_unlink): Return a value.
15780         (test_ctime) [W32]: Fix compilation error.
15781         (nap): Don't call usleep with too large an argument.  Use
15782         force_unlink.
15783         * doc/pastposix-functions/usleep.texi (usleep): Document the
15784         portability issue.
15785
15786 2009-10-13  Jim Meyering  <meyering@redhat.com>
15787
15788         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
15789         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
15790         * modules/pipe-filter-ii: Likewise.
15791         * modules/sys_socket-tests: Likewise.
15792         * modules/tsearch-tests: Likewise.
15793         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
15794         (check): Depend on it.
15795
15796 2009-10-12  Eric Blake  <ebb9@byu.net>
15797
15798         utimens-tests: port to NFS file systems
15799         * tests/test-utimens.h (test_utimens): Refactor utimecmp
15800         comparisons to avoid spurious failures from timestamp drift
15801         between NFS machines.
15802
15803 2009-10-12  Eric Blake  <ebb9@byu.net>
15804
15805         stat-time-tests: minor cleanups
15806         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
15807         * tests/test-stat-time.c (nap): Separate assignment from call.
15808         Suggested by Paolo Bonzini and Bruno Haible.
15809
15810         sys_stat: guarantee struct timespec
15811         * lib/sys_stat.in.h (includes): Always include <time.h>
15812         * modules/sys_stat (Depends-on): Add time.
15813         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
15814         mode_t permission values.
15815         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
15816         get at subsecond timestamps.
15817
15818 2009-10-10  Eric Blake  <ebb9@byu.net>
15819
15820         futimens: new module
15821         * modules/futimens: New file.
15822         * lib/futimens.c (futimens): Likewise.
15823         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
15824         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
15825         we can work around Linux bugs.
15826         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
15827         * modules/sys_stat (Makefile.am): Substitute them.
15828         * lib/sys_stat.in.h (futimens): Declare it.
15829         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
15830         * doc/posix-functions/futimens.texi (futimens): Likewise.
15831         * modules/futimens-tests: New test.
15832         * tests/test-futimens.c: Likewise.
15833
15834         utimens: introduce fdutimens
15835         * lib/utimens.h (fdutimens): New prototype.
15836         * lib/utimens.c (gl_futimens): Move guts...
15837         (fdutimens): ...to new interface.
15838         * tests/test-utimens.c (do_fdutimens): Use it.
15839
15840         utimens: add UTIME_NOW and UTIME_OMIT support
15841         * lib/utimens.c (validate_timespec, update_timespec): New helper
15842         functions.
15843         (gl_futimens, lutimens): Use them.
15844         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
15845         stdbool, sys_stat.
15846         (Link): Mention resulting library dependency.
15847         * modules/utimecmp (Link): Likewise.
15848         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
15849         (Makefile.am): Pick up library dependency.
15850         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
15851         definition.
15852         * tests/test-sys_stat.c: Test the definitions.
15853         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
15854         * NEWS: Document library dependency.
15855
15856         utimecmp: support symlink timestamps
15857         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
15858         hashing when possible.  Use pathconf when available.
15859         (SYSCALL_RESOLUTION): Recognize tighter resolution.
15860         * modules/utimecmp (Depends-on): Add lstat.
15861
15862         utimens: add lutimens interface
15863         * lib/utimens.c (lutimens): New function.
15864         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
15865         * lib/utimens.h (lutimens): Declare new interface.
15866         * tests/test-utimens.c (main): Enhance test.
15867         * tests/test-lutimens.h (test_lutimens): New file.
15868         * modules/utimens-tests (Files): Distribute it.
15869         (Depends-on): Add symlink.
15870         (configure.ac): Check for usleep.
15871
15872         utimens: validate futimens usage
15873         * lib/utimens.c (gl_futimens): Require valid fd up front, using
15874         fewer syscalls on failure later on.  Avoid compiler warning on
15875         mingw.
15876         * modules/utimens (Depends-on): Add dup2.
15877
15878         utimens: add test
15879         * modules/utimens-tests: New test.
15880         * tests/test-utimens.h: New file.
15881         * tests/test-futimens.h: Likewise.
15882         * tests/test-utimens.c: Likewise.
15883
15884         doc: mention timestamp portability issues
15885         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
15886         instead.
15887         * doc/posix-functions/utime.texi (utime): Likewise.
15888         * doc/posix-functions/utimes.texi (utimes): Likewise.
15889         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
15890         instead.
15891         * doc/posix-functions/futimens.texi (futimens): Mention utimens
15892         module.
15893         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
15894         Mention weakness with symlink timestamps.
15895         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
15896         to utimensat/futimens instead.
15897         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
15898
15899         test-dup2: enhance test
15900         * tests/test-dup2.c (main): Also check AT_FDCWD.
15901
15902         test-stat-time: avoid more spurious failures
15903         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
15904         xfs; and avoid race if the two timestamps cross quantization edge.
15905
15906         relocatable: prefer 'file system' over 'filesystem'
15907         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
15908         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
15909         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
15910         * doc/relocatable.texi (Enabling Relocatability): Likewise.
15911         * lib/relocatable.c (compute_curr_prefix): Likewise.
15912
15913 2009-10-10  Jim Meyering  <meyering@redhat.com>
15914
15915         stat-time-tests: check for the usleep function
15916         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
15917
15918 2009-10-10  Bruno Haible  <bruno@clisp.org>
15919
15920         * modules/xnanosleep: Put the Link section after the Include section.
15921
15922 2009-10-09  Eric Blake  <ebb9@byu.net>
15923
15924         dup2: work around FreeBSD 6.1 bug
15925         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
15926         * doc/posix-functions/dup2.texi (dup2): Document it.
15927         Reported by Nelson H. F. Beebe and Jim Meyering.
15928
15929         test-stat-time: port to buggy NFS clients
15930         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
15931         (test_ctime): Also skip test if mtime and ctime are skewed.
15932
15933         maint: prefer 'file system' over 'filesystem'
15934         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
15935         * doc/posix-functions/lstat.texi (lstat): Likewise.
15936         * lib/file-has-acl.c (file_has_acl): Likewise.
15937         * lib/fwriteerror.c [TEST]: Likewise.
15938         * tests/test-areadlink.h (test_areadlink): Likewise.
15939         * tests/test-areadlinkat-with-size.c (main): Likewise.
15940         * tests/test-areadlinkat.c (main): Likewise.
15941         * tests/test-canonicalize-lgpl.c (main): Likewise.
15942         * tests/test-canonicalize.c (main): Likewise.
15943         * tests/test-fstatat.c (main): Likewise.
15944         * tests/test-linkat.c (main): Likewise.
15945         * tests/test-lstat.h (test_lstat_func): Likewise.
15946         * tests/test-mkdir.h (test_mkdir): Likewise.
15947         * tests/test-readlink.h (test_readlink): Likewise.
15948         * tests/test-remove.c (main): Likewise.
15949         * tests/test-rename.h (test_rename): Likewise.
15950         * tests/test-renameat.c (main): Likewise.
15951         * tests/test-rmdir.h (test_rmdir_func): Likewise.
15952         * tests/test-symlink.h (test_symlink): Likewise.
15953         * tests/test-symlinkat.c (main): Likewise.
15954         * tests/test-unlink.h (test_unlink_func): Likewise.
15955         * tests/test-unlinkat.c (main): Likewise.
15956
15957         maint: make realtime library usage explicit
15958         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
15959         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
15960         * modules/settime (Link): Likewise.
15961         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
15962
15963         test-stat-time: speed up execution
15964         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
15965         warning on mingw.
15966         (nap): New helper function.
15967         (prepare_test): Use it to reduce sleep time.
15968         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
15969         execution.
15970         * modules/stat-time-tests (configure.ac): Check for usleep.
15971
15972 2009-10-09  Jim Meyering  <meyering@redhat.com>
15973
15974         selinux-h: always use getfilecon wrappers
15975         * lib/getfilecon.c: New file.
15976         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
15977         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
15978         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
15979         (fgetfilecon): Provide a stub.
15980         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
15981         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
15982         file unconditionally.
15983         When <selinux/selinux.h> is found, arrange to use wrappers.
15984         * modules/selinux-h (Files): Add getfilecon.c.
15985         (Makefile.am): Substitute include-next-related bits
15986         into the now-always-generated selinux/selinux.h file.
15987         * doc/glibc-functions/lgetfilecon.texi: New file.
15988         * doc/glibc-functions/fgetfilecon.texi: New file.
15989         * doc/glibc-functions/getfilecon.texi: New file.
15990         * doc/glibc-functions/getfilecon-desc.texi: New file.
15991         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
15992         which to pull in the new files.
15993         * MODULES.html.sh (Misc): Add selinux-h.
15994
15995 2009-10-08  Jim Meyering  <meyering@redhat.com>
15996
15997         unistd: fix comment typo
15998         * lib/unistd.in.h (euidaccess): Fix a comment typo.
15999
16000 2009-10-08  Eric Blake  <ebb9@byu.net>
16001
16002         areadlink: use SIZE_MAX consistently
16003         * modules/areadlink (Depends-on): Add stdint.
16004         * modules/areadlink-with-size (Depends-on): Likewise.
16005         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
16006         gives NULL; drop sys/types, since unistd gives size_t; and add
16007         stdint for SIZE_MAX.
16008         (SIZE_MAX): Rely on headers.
16009         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
16010         and add stdint.
16011         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
16012         (SIZE_MAX): Likewise.
16013         (INITIAL_BUF_SIZE): Turn into enum.
16014         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
16015
16016 2009-10-08  Jim Meyering  <meyering@redhat.com>
16017
16018         areadlinkat: avoid compilation failure
16019         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
16020         Fix typo in comment.
16021
16022 2009-10-07  Eric Blake  <ebb9@byu.net>
16023
16024         areadlinkat-with-size: new module
16025         * modules/areadlinkat-with-size: New module.
16026         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
16027         * lib/areadlink.h (areadlinkat): Declare it.
16028         * MODULES.html.sh (File system functions): Mention it.
16029         * modules/areadlinkat-with-size-tests: New test.
16030         * tests/test-areadlinkat-with-size.c: New file.
16031
16032         xreadlinkat: new module
16033         * modules/xreadlinkat: New module.
16034         * lib/xreadlinkat.c (xreadlinkat): New file.
16035         * lib/xreadlink.h (xreadlinkat): Declare it.
16036         * MODULES.html.sh (File system functions): Mention it.
16037
16038         areadlinkat: new module
16039         * lib/at-func.c (FUNC_FAIL): New define.
16040         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
16041         * modules/areadlinkat: New module.
16042         * lib/linkat.c (areadlinkat): Move...
16043         * lib/areadlinkat.c (areadlinkat): ...to new file.
16044         * lib/areadlink.h (areadlinkat): Declare it.
16045         * modules/linkat (Depends-on): Add areadlinkat.
16046         * MODULES.html.sh (File system functions): Mention it.
16047         * modules/areadlinkat-tests: New test.
16048         * tests/test-areadlinkat.c: New file.
16049
16050         areadlink, areadlink-with-size: add tests
16051         * modules/areadlink-tests: New test.
16052         * modules/areadlink-with-size-tests: Likewise.
16053         * tests/test-areadlink.h: New file.
16054         * tests/test-areadlink.c: Likewise.
16055         * tests/test-areadlink-with-size.c: Likewise.
16056
16057         maint: minor cleanups
16058         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
16059         _UNUSED_PARAMETER_ instead.
16060         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
16061         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
16062         * modules/linkat-tests (Files): Distribute test-link.h.
16063
16064         openat, utimens: whitespace cleanup
16065         * lib/openat.c: Prefer space throughout, rather than mix of 8
16066         spaces vs. tabs.
16067         * lib/at-func.c: Likewise.
16068         * lib/utimens.c: Likewise.
16069
16070         openat: avoid using wrong fd
16071         * lib/openat.c (openat_permissive): Reject user's fd if saving the
16072         working directory chooses same fd.
16073         * lib/at-func.c (AT_FUNC_NAME): Likewise.
16074
16075         mkdir, mkdirat: fix cygwin 1.5.x bug
16076         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
16077         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
16078         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
16079         bug.
16080         (gl_PREREQ_MKDIR): Delete unused macro.
16081         * modules/mkdir (Files): Track file rename.
16082         (configure.ac): Update macro name.
16083         * modules/openat (Depends-on): Add mkdir.
16084         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
16085
16086         mkdir, mkdirat: add tests
16087         * modules/mkdir-tests: New test.
16088         * tests/test-mkdir.h: New file.
16089         * tests/test-mkdir.c: Likewise.
16090         * tests/test-mkdirat.c: Likewise.
16091         * modules/openat-tests (Files): Add new files.
16092         (Makefile.am): Run new test.
16093
16094 2009-10-06  Eric Blake  <ebb9@byu.net>
16095
16096         doc: tweak *at function documentation
16097         * doc/posix-functions/faccessat.texi (faccessat): Mention
16098         known issue with replacement.
16099         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
16100         * doc/posix-functions/linkat.texi (linkat): Likewise.
16101         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
16102         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
16103         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
16104         * doc/posix-functions/renameat.texi (renameat): Likewise.
16105         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
16106
16107         openat: fix GNU/Hurd bug in unlinkat
16108         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
16109         broken.
16110         * doc/posix-functions/unlink.texi (unlink): Document this.
16111         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
16112
16113         fdopendir: fix GNU/Hurd bug
16114         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
16115         allowing non-directory fds.
16116         * lib/fdopendir.c (rpl_fdopendir): Work around it.
16117         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
16118         * modules/dirent (Makefile.am): Substitute it.
16119         * lib/dirent.in.h (fdopendir): Declare replacement.
16120         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
16121         * tests/test-fdopendir.c (main): Test something other than
16122         /dev/null, since on Hurd that behaves like a directory.
16123
16124         test-symlink: port to GNU/Hurd
16125         * tests/test-symlink.h (test_symlink): Relax expected errno.
16126
16127         doc: tweak more cygwin information
16128         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
16129         now compatible with glibc.
16130         * doc/posix-functions/getopt.texi (getopt): Likewise.
16131
16132         getopt-gnu: add another test
16133         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
16134         guarantee behavior relied on by m4.
16135         * tests/test-getopt.c (main): Use it.
16136         * modules/getopt-posix-tests (Depends-on): Add setenv.
16137         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
16138
16139         getopt: fix compilation on darwin
16140         * lib/getopt.in.h (includes): Leave breadcrumbs during system
16141         include.
16142         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
16143         Reported by Ludovic Courtès.
16144
16145 2009-10-06  Bruno Haible  <bruno@clisp.org>
16146
16147         * modules/size_max (Description): Discourage its use.
16148         Reported by Simon Josefsson.
16149
16150 2009-10-06  Jim Meyering  <meyering@redhat.com>
16151
16152         linkat: avoid compilation failure
16153         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
16154
16155 2009-10-05  Eric Blake  <ebb9@byu.net>
16156
16157         linkat: support Linux 2.6.17
16158         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
16159         linkat on Linux, but allow cache variable override.
16160         * lib/linkat.c (rpl_linkat): Define override.
16161         * modules/linkat (Depends-on): Add symlinkat.
16162         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
16163         * modules/unistd (Makefile.am): Substitute it.
16164         * lib/unistd.in.h (linkat): Declare replacement.
16165         Reported by Pádraig Brady.
16166
16167         quotearg: port test to systems with C.UTF-8 locale
16168         * tests/test-quotearg.c (struct result_strings): Add another
16169         member, differentiating between C.ASCII and C.UTF-8 handling.
16170         (compare_strings): Add parameter.
16171         (main): Adjust all callers.
16172
16173         getopt: avoid clash with FreeBSD _getopt_internal
16174         * lib/getopt.in.h (_getopt_internal): Override the name.
16175         * lib/getopt_int.h (includes): Pick up any overrides.
16176         Reported by Reuben Thomas.
16177
16178         hash: allow C89 compilation
16179         * lib/hash.c (check_tuning): Move declaration before statement.
16180         Reported by Reuben Thomas.
16181
16182 2009-10-05  Karl Berry  <karl@gnu.org>
16183
16184         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
16185
16186 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
16187             Bruno Haible  <bruno@clisp.org>
16188
16189         * lib/uname.c (uname): Use a table-driven algorithm to compute
16190         Windows NT versions.
16191
16192 2009-10-04  Bruno Haible  <bruno@clisp.org>
16193
16194         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
16195         program_invocation_short_name.
16196         * modules/progname (configure.ac): Test for presence of
16197         program_invocation_short_name.
16198         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
16199
16200 2009-10-04  Bruno Haible  <bruno@clisp.org>
16201
16202         * lib/progname.c (set_program_name): Fix comment.
16203         Reported by Jim Meyering.
16204
16205 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
16206             Bruno Haible  <bruno@clisp.org>
16207
16208         * lib/uname.c: Include <string.h>.
16209         (uname): Do only one call to GetVersionEx in the common case.
16210
16211 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
16212             Bruno Haible  <bruno@clisp.org>
16213
16214         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
16215         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
16216         (uname): Add support for Windows CE and various non-x86 CPU types.
16217
16218 2009-10-03  Bruno Haible  <bruno@clisp.org>
16219
16220         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
16221         invocation to tests/configure.ac.
16222         Reported by Ian Beckwith <ianb@erislabs.net>.
16223
16224 2009-10-02  Eric Blake  <ebb9@byu.net>
16225
16226         fchdir: avoid compiler warning
16227         * lib/fchdir.c (canonicalize_file_name)
16228         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
16229
16230         test-open: support mingw errno values
16231         * tests/test-open.h (test_open): Relax test.
16232         * tests/test-fopen.h (test_fopen): Likewise.
16233         * tests/test-openat-safer.c (main): Likewise.
16234
16235         open: fix opening directory on mingw
16236         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
16237
16238         test-open: on GNU/Hurd, /dev/null is a directory
16239         * tests/test-fopen.h (main): Rename...
16240         (test_fopen): ...to this.  Use a guaranteed non-directory when
16241         confirming open behavior on trailing slash.
16242         * tests/test-openat-safer.c (main): Likewise.
16243         * tests/test-open.h (main): Likewise....
16244         (test_open): ...to this.
16245         * tests/test-fopen.c (main): Adjust caller.
16246         * tests/test-fopen-safer.c (main): Likewise.
16247         * tests/test-open.c (main): Likewise.
16248         * tests/test-fcntl-safer.c (main): Likewise.
16249         Reported by Samuel Thibault.
16250
16251         rename, fchdir: don't ignore chdir failure
16252         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
16253         * lib/rename.c (rpl_rename) [W32]: Likewise.
16254         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
16255         an empty destination directory if source cannot be renamed,
16256         although there is still possibility for failure.
16257         * doc/posix-functions/rename.texi (rename): Document the race.
16258         Reported by Jim Meyering.
16259
16260         maint: cleanup whitespace in recent commits
16261         * lib/rename.c (rpl_rename): Remove tabs.
16262         * tests/test-link.h (test_link): Likewise.
16263         * lib/fchdir.c (get_name): Likewise.
16264         Reported by Jim Meyering.
16265
16266 2009-10-02  Ben Pfaff  <blp@gnu.org>
16267
16268         relocatable-prog-wrapper: Add missing dependency on
16269         double-slash-root.
16270         * modules/relocatable-prog-wrapper: Add dependency.
16271         Reported by Ian Beckwith <ianb@erislabs.net>.
16272
16273 2009-10-02  Eric Blake  <ebb9@byu.net>
16274
16275         renameat: fix Solaris bugs
16276         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
16277         needed fixing.
16278         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
16279         * modules/stdio (Makefile.am): Substitute it.
16280         * lib/stdio.in.h (renameat): Declare replacement.
16281         * lib/renameat.c (rpl_renameat): Implement fix.
16282
16283         renameat: new module
16284         * modules/renameat: New file.
16285         * lib/renameat.c (renameat): Likewise.
16286         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
16287         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
16288         * modules/stdio (Makefile.am): Substitute them.
16289         * lib/stdio.in.h (renameat): Declare it.
16290         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
16291         * doc/posix-functions/renameat.texi (renameat): Likewise.
16292         * modules/renameat-tests: New test.
16293         * tests/test-renameat.c: Likewise.
16294
16295         rename: fix mingw bugs
16296         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
16297         directory overwrite bugs.
16298
16299         rename: fix another cygwin 1.5 bug
16300         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
16301         checks.
16302         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
16303         unnecessary cygwin workarounds.  Also work around bug with moving
16304         full directory onto an empty one.
16305         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
16306
16307         rename-dest-slash: merge into rename module
16308         * modules/rename-dest-slash (Status): Mark obsolete.
16309         (Depends-on): Add rename.
16310         (Files): Let rename do it all.
16311         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
16312         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
16313         * m4/rename-dest-slash.m4: ...so this file can be deleted.
16314         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
16315         * lib/rename.c (rpl_rename): Update comments.
16316
16317         rename: fix cygwin 1.5.x bugs
16318         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
16319         * lib/rename.c (rpl_rename): Work around them.
16320         * modules/rename (Depends-on): Add same-inode.
16321
16322         rename: fix Solaris 10 bug
16323         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
16324         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
16325         was the only bug.
16326
16327         rename: fix Solaris 9 bug
16328         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
16329         on non-directory.  Avoid calling exit.
16330         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
16331         strdup.
16332         * modules/rename-tests (Depends-on): Drop lstat.
16333         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
16334         (gl_PREREQ_RENAME): Delete unused macro.
16335
16336         rename-dest-slash: fix NetBSD bug
16337         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
16338         links.
16339         * modules/rename-dest-slash (Depends-on): Add same-inode.
16340
16341         rename-tests: new test, exposes several platform bugs
16342         * modules/rename-tests: New file.
16343         * tests/test-rename.h: Likewise.
16344         * tests/test-rename.c: Likewise.
16345         * doc/posix-functions/rename.texi (rename): Improve documentation,
16346         including bugs that will eventually be fixed in gnulib.
16347
16348 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
16349
16350         * lib/uname.c: Include <stdlib.h>
16351         (uname): Assume version info is available.
16352
16353 2009-10-02  Jim Meyering  <meyering@redhat.com>
16354
16355         gnu-web-doc-update: correct --help output
16356         * build-aux/gnu-web-doc-update: Make --help output relevant.
16357
16358         gnu-web-doc-update: add standard options
16359         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
16360
16361         gnu-web-doc-update: New module.
16362         Use this script to automatically update the on-line web documentation
16363         for your GNU project at http://www.gnu.org/software/$pkg/manual/
16364         * modules/gnu-web-doc-update: New file, from coreutils.
16365         * build-aux/gnu-web-doc-update: New script.
16366
16367 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
16368
16369         link: LoadLibrary is not needed.
16370         * lib/link.c: Use GetModuleHandle.
16371
16372 2009-10-01  Eric Blake  <ebb9@byu.net>
16373
16374         getopt: bump serial number
16375         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
16376         change.
16377
16378         tests: tighten link, rmdir, and remove tests
16379         * tests/test-link.h (includes): No need to use <config.h> here.
16380         Clean up if directory hard link was created, otherwise test for
16381         trailing '.'.
16382         * tests/test-linkat.c (main): Simplify.
16383         * tests/test-remove.c (main): Enhance test for trailing '.'.
16384         * tests/test-rmdir.h (test_rmdir_func): Likewise.
16385
16386 2009-10-01  Jim Meyering  <meyering@redhat.com>
16387
16388         maint.mk: requiring "make major" was annoying, for a "minor" release.
16389         What is intended is "stable", to contrast with alpha and beta,
16390         so require "make stable", not "make major".
16391         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
16392         (get_tool_versions): Likewise.
16393         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
16394
16395 2009-09-30  Ben Pfaff  <blp@gnu.org>
16396
16397         Fix broken build of replacement for Windows tmpfile().
16398         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
16399         flags argument added along with the 'mkostemp' module.
16400
16401 2009-09-28  Bruno Haible  <bruno@clisp.org>
16402
16403         Avoid identifier clash with POSIX function 'remove' defined as a macro.
16404         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
16405         to 'remove_elt'.
16406         (gl_list_remove): Update.
16407         * lib/gl_list.c (gl_list_remove): Update.
16408         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
16409         to 'remove_elt'.
16410         (gl_oset_remove): Update.
16411         * lib/gl_list.c (gl_oset_remove): Update.
16412         Reported by Eric Blake.
16413
16414 2009-09-28  Eric Blake  <ebb9@byu.net>
16415
16416         doc: mention yet more cygwin 1.7 status
16417         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
16418         cygwin.
16419         * doc/glibc-functions/execvpe.texi (execvpe): New file.
16420         * doc/gnulib.texi (Glibc unistd.h): Mention it.
16421
16422         argp: fix test failure
16423         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
16424         that are not upper-case.  Pass correct range to tolower.
16425
16426 2009-09-27  Jim Meyering  <meyering@redhat.com>
16427
16428         test-yesno: work around sparc-dash here-document infelicity
16429         Without this change, the literal \177 byte in a here document
16430         would make dash 0.5.5.1-3 access uninitialized memory.
16431         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
16432         Instead, use a marker, "@", and filter through tr to create the desired
16433         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
16434
16435 2009-09-27  Bruno Haible  <bruno@clisp.org>
16436
16437         Disable untested support for new flavours of ACLs on AIX.
16438         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
16439         progress.
16440         * lib/set-mode-acl.c (qset_acl): Likewise.
16441
16442 2008-12-07  Bruno Haible  <bruno@clisp.org>
16443
16444         Add support for new flavours of ACLs on AIX. (Untested.)
16445         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
16446         (file_has_acl): Add support for newer AIX.
16447         * lib/set-mode-acl.c (qset_acl): Likewise.
16448         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
16449         Rainer Tammer <tammer@tammer.net>.
16450
16451 2009-09-26  Eric Blake  <ebb9@byu.net>
16452
16453         argp: fix compilation of getopt
16454         * lib/getopt.in.h (includes): Use different guard than glibc.
16455         Reported by Sergey Poznyakoff.
16456
16457         doc: mention more cygwin 1.7 status
16458         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
16459         bug.
16460         * doc/posix-functions/execl.texi (execl): Likewise.
16461         * doc/posix-functions/execle.texi (execle): Likewise.
16462         * doc/posix-functions/execlp.texi (execlp): Likewise.
16463         * doc/posix-functions/execv.texi (execv): Likewise.
16464         * doc/posix-functions/execve.texi (execve): Likewise.
16465         * doc/posix-functions/execvp.texi (execvp): Likewise.
16466         * doc/glibc-functions/canonicalize_file_name.texi
16467         (canonicalize_file_name): Cygwin 1.7 now provides this.
16468         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
16469         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
16470         on AT_SYMLINK_NOFOLLOW.
16471
16472 2009-09-24  Eric Blake  <ebb9@byu.net>
16473
16474         test-linkat: make test more robust
16475         * tests/test-linkat.c (main): Avoid collision with EEXIST.
16476
16477         getopt: fix inclusion guards for cygwin
16478         * modules/getopt-posix (Depends-on): Add include-next.
16479         (Makefile.am): Substitute more items in replacement header.
16480         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
16481         <getopt.h>.
16482         * lib/getopt.in.h (includes): Use split inclusion guard, and
16483         prefer <getopt.h> over include <unistd.h> when one is present.
16484         (option): Also override name of 'struct option'.
16485
16486         same-inode: revert prior change; it is not yet ready
16487         * NEWS: Undo mention of this change.
16488         * lib/same-inode.h (same-inode.h): Undo tri-state change.
16489         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
16490         * lib/cycle-check.c (cycle_check): Likewise.
16491         * lib/same.c (same_name): Likewise.
16492         * lib/at-func2.c (at_func2): Likewise.
16493
16494 2009-09-23  Eric Blake  <ebb9@byu.net>
16495
16496         linkat: new module
16497         * modules/linkat: New file.
16498         * lib/at-func2.c (at_func2): Likewise.
16499         * lib/linkat.c (linkat): Likewise.
16500         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
16501         * lib/openat-priv.h (at_func2): Add declaration.
16502         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
16503         * modules/unistd (Makefile.am): Substitute them.
16504         * lib/unistd.in.h (linkat): Declare it.
16505         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
16506         * doc/posix-functions/linkat.texi (linkat): Likewise.
16507         * doc/posix-functions/link.texi (link): Tweak wording.
16508         * tests/test-link.c (main): Move guts...
16509         * tests/test-link.h (test_link): ...into new file.
16510         * modules/linkat-tests: New test.
16511         * tests/test-linkat.c: Likewise.
16512         * modules/link-tests (Files): Ship new file.
16513         (Depends-on): Add stdbool.
16514
16515         dirname: add library-safe mdir_name
16516         * lib/dirname.h (mdir_name): New prototype.
16517         * lib/dirname.c (dir_name): Move guts...
16518         (mdir_name): ...to new function that avoids xalloc_die.
16519
16520         fchdir: another mingw fix
16521         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
16522         * lib/fchdir.c (get_name): New helper method; skips canonicalize
16523         on mingw (where it has not yet been ported), and make it optional
16524         elsewhere.
16525         (_gl_register_fd): Use it.
16526
16527         same-inode: make SAME_INODE tri-state, to port to mingw
16528         * NEWS: Mention this change.
16529         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
16530         st_ino always being 0.
16531         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
16532         * lib/cycle-check.c (cycle_check): Likewise.
16533         * lib/same.c (same_name): Likewise.
16534
16535         lstat: avoid mingw compilation error
16536         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
16537         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
16538         lstat ourselves.
16539         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
16540         was adequate.
16541         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
16542         the checks for lstat.
16543         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
16544
16545         link: fix test failure on Solaris 9
16546         * lib/link.c (rpl_link): Don't assume link will catch bogus
16547         trailing slash on source.
16548
16549         test-symlinkat: enhance test
16550         * tests/test-readlink.c (main): Move guts...
16551         * tests/test-readlink.h (test_readlink): ...into new file.
16552         * tests/test-symlink.c (main): Move guts...
16553         * tests/test-symlink.h (test_symlink): ...into new file.
16554         * tests/test-symlinkat.c (main): Use new files for further
16555         coverage.
16556         (do_symlink, do_readlink): New helper functions.
16557         * modules/symlink-tests (Files): Ship new file.
16558         (Depends-on): Add stdbool.
16559         * modules/readlink-tests (Files): Ship new file.
16560         (Depends-on): Add stdbool.
16561         * modules/symlinkat-tests (Files): Use new files.
16562
16563 2009-09-23  Eric Blake  <ebb9@byu.net>
16564
16565         readlink: document portability issue with symlink length
16566         * doc/posix-functions/lstat.texi (lstat): Mention that some file
16567         systems have bogus st_size on symlinks, and mention the
16568         areadlink-with-size module.
16569         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
16570         * doc/posix-functions/readlink.texi (readlink): Mention the
16571         areadlink module, and ERANGE failure.
16572         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
16573         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
16574
16575         readlink: fix Solaris 9 bug with trailing slash
16576         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
16577         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
16578         * doc/posix-functions/readlink.texi (readlink): Document this.
16579         * modules/readlink-tests: New test.
16580         * tests/test-readlink.c: Likewise.
16581
16582         readlink: fix cygwin 1.5.x bug with return type
16583         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
16584         * lib/unistd.in.h (readlink): Use ssize_t.
16585         * lib/readlink.c (readlink): Likewise.
16586         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
16587         * modules/unistd (Makefile.am): Substitute it.
16588         * lib/unistd.in.h (readlink): Declare replacement.
16589         * doc/posix-functions/readlink.texi (readlink): Document this.
16590
16591         symlink: use throughout gnulib
16592         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
16593         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
16594         symlink is not used.
16595         * modules/symlinkat (Depends-on): Add symlink.
16596         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
16597         * modules/canonicalize-tests (Depends-on): Likewise.
16598         * modules/lstat-tests (Depends-on): Likewise.
16599         * modules/openat-tests (Depends-on): Likewise.
16600         * modules/remove-tests (Depends-on): Likewise.
16601         * modules/rmdir-tests (Depends-on): Likewise.
16602         * modules/unlink-tests (Depends-on): Likewise.
16603         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
16604         * tests/test-canonicalize.c (symlink): Likewise.
16605         * tests/test-fstatat.c (symlink): Likewise.
16606         * tests/test-lstat.c (symlink): Likewise.
16607         * tests/test-remove.c (symlink): Likewise.
16608         * tests/test-rmdir.c (symlink): Likewise.
16609         * tests/test-unlink.c (symlink): Likewise.
16610         * tests/test-unlinkat.c (symlink): Likewise.
16611
16612         symlink: new module, for Solaris 9 bug
16613         * modules/symlink: New file.
16614         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
16615         * lib/symlink.c: Likewise.
16616         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
16617         * modules/unistd (Makefile.am): Substitute them.
16618         * lib/unistd.in.h (symlink): Declare replacement.
16619         * MODULES.html.sh (File system functions): Mention it.
16620         * doc/posix-functions/symlink.texi (symlink): Likewise.
16621         * modules/symlink-tests: New test.
16622         * tests/test-symlink.c: Likewise.
16623
16624 2009-09-23  Bruno Haible  <bruno@clisp.org>
16625
16626         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
16627         when needed.
16628         Test case: gnulib-tool --import --with-tests atexit inttypes.
16629         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
16630
16631 2009-09-23  Bruno Haible  <bruno@clisp.org>
16632
16633         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
16634         subcommand, not in a subshell.
16635
16636 2009-09-22  Eric Blake  <ebb9@byu.net>
16637
16638         unistd: sort replacement declarations
16639         * lib/unistd.in.h: Sort declarations.
16640
16641         open, openat: minor optimization
16642         * lib/open.c (open): If open succeeded, len is non-zero.
16643         * lib/openat.c (rpl_openat): Likewise.
16644
16645         link-follow: ensure correct result
16646         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
16647         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
16648         distinguish between possible failures.
16649
16650 2009-09-21  Eric Blake  <ebb9@byu.net>
16651
16652         fts: avoid compiler warning
16653         * lib/fts.c (dirent_inode_sort_may_be_useful)
16654         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
16655
16656 2009-09-19  Bruno Haible  <bruno@clisp.org>
16657
16658         * lib/progreloc.c (canonicalize_file_name): New declaration.
16659
16660 2009-09-19  Eric Blake  <ebb9@byu.net>
16661
16662         link: fix quoting
16663         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
16664
16665         openat: fix openat bugs on Solaris 9
16666         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
16667         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
16668         * modules/openat (Depends-on): Add open.
16669         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
16670         * modules/fcntl-h (Makefile.am): Substitute it.
16671         * lib/fcntl.in.h (openat): Declare replacement.
16672         * doc/posix-functions/openat.texi (openat): Document this.
16673
16674         openat: move fstatat and unlinkat into correct files
16675         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
16676         compiled.
16677         * lib/openat.c (fstatat, unlinkat): Move...
16678         * lib/fstatat.c (fstatat): ...into correct files.
16679         * lib/unlinkat.c (unlinkat): Likewise.
16680
16681         openat: fix unlinkat bugs on Solaris 9
16682         * lib/unlinkat.c (unlinkat): New file.
16683         * modules/openat (Depends-on): Add unlink.
16684         (Files): Distribute it.
16685         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
16686         trailing slash behavior is broken.
16687         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
16688         * modules/unistd (Makefile.am): Substitute it.
16689         * lib/unistd.in.h (unlinkat): Declare replacement.
16690         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
16691
16692         openat: fix fstatat bugs on Solaris 9
16693         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
16694         stat.
16695         * doc/posix-functions/fstatat.texi (fstatat): Document this.
16696
16697         test-unlinkat: enhance test, to expose Solaris 9 bug
16698         * tests/test-unlink.c (main): Factor guts...
16699         * tests/test-unlink.h (test_rmdir_func): ...into new file.
16700         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
16701         * tests/test-rmdir.c (main): Adjust caller.
16702         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
16703         (unlinker): New helper function.
16704         (rmdirat): Enhance check.
16705         * modules/rmdir-tests (Depends-on): Add stdbool.
16706         * modules/unlink-tests (Depends-on): Likewise.
16707         (Files): Add test-unlink.h.
16708         * modules/openat-tests (Files): Likewise.
16709         (Depends-on): Add unlinkdir.
16710
16711         test-fstatat: new test, to expose Solaris 9 bugs
16712         * tests/test-stat.c (main): Factor guts...
16713         * tests/test-stat.h (test_stat_func): ...into new file.
16714         * tests/test-lstat.c (main): Factor guts...
16715         * tests/test-lstat.h (test_lstat_func): ...into new file.
16716         * tests/test-fstatat.c: New file.
16717         * modules/stat-tests (Files): Add test-stat.h.
16718         * modules/lstat-tests (Files): Add test-lstat.h.
16719         (Depends-on): Add stdbool.
16720         * modules/openat-tests (Depends-on): Add pathmax.
16721         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
16722         (Makefile.am): Run new test.
16723
16724         remove: new module, for mingw and Solaris 9 bugs
16725         * modules/remove: New file.
16726         * lib/remove.c: Likewise.
16727         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
16728         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
16729         * modules/stdio (Makefile.am): Use them.
16730         * lib/stdio.in.h (remove): Declare replacement.
16731         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
16732         * doc/posix-functions/remove.texi (remove): Likewise.
16733         * modules/remove-tests: New test.
16734         * tests/test-remove.c: Likewise.
16735
16736         unlink: new module, for Solaris 9 bug
16737         * modules/unlink: New file.
16738         * lib/unlink.c: Likewise.
16739         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
16740         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
16741         * modules/unistd (Makefile.am): Use them.
16742         * lib/unistd.in.h (stat): Declare replacement.
16743         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
16744         * doc/posix-functions/unlink.texi (unlink): Likewise.
16745         * modules/unlink-tests: New test.
16746         * tests/test-unlink.c: Likewise.
16747
16748         lstat: fix Solaris 9 bug
16749         * lib/lstat.c (lstat): Also check for trailing slash on
16750         non-symlink, non-directories.  Use stat module to simplify logic.
16751         * doc/posix-functions/lstat.texi (lstat): Document it.
16752         * modules/lstat-tests (Depends-on): Add errno, same-inode.
16753         (configure.ac): Check for symlink.
16754         * tests/test-lstat.c (main): Add more tests.
16755
16756         stat: add as dependency to other modules
16757         * modules/chown (Depends-on): Add stat.
16758         * modules/euidaccess (Depends-on): Likewise.
16759         * modules/fchdir (Depends-on): Likewise.
16760         * modules/isdir (Depends-on): Likewise.
16761         * modules/link (Depends-on): Likewise.
16762         * modules/lstat (Depends-on): Likewise.
16763         * modules/mkdir-p (Depends-on): Likewise.
16764         * modules/modechange (Depends-on): Likewise.
16765         * modules/open (Depends-on): Likewise.
16766         * modules/readlink (Depends-on): Likewise.
16767         * modules/same (Depends-on): Likewise.
16768
16769         stat: fix Solaris 9 bug
16770         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
16771         slash.
16772         * lib/stat.c (rpl_stat): Work around it.
16773         * doc/posix-functions/stat.texi (stat): Update documentation.
16774
16775         stat: new module, for mingw bug
16776         * modules/stat: New file.
16777         * lib/stat.c: Likewise.
16778         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
16779         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
16780         * modules/sys_stat (Makefile.am): Use them.
16781         * lib/sys_stat.in.h (stat): Declare replacement.
16782         * lib/openat.c (fstatat): Deal with lstat and stat being function
16783         macros.
16784         * modules/openat (Depends-on): Add inline.
16785         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
16786         * doc/posix-functions/stat.texi (stat): Likewise.
16787         * modules/stat-tests: New test.
16788         * tests/test-stat.c: Likewise.
16789
16790 2009-09-19  Jim Meyering  <meyering@redhat.com>
16791
16792         syntax-check: detect unnecessary inclusion of canonicalize.h
16793         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
16794
16795 2009-09-19  Eric Blake  <ebb9@byu.net>
16796
16797         canonicalize-lgpl: adjust clients to use correct header
16798         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
16799         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
16800         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
16801         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
16802         * lib/progreloc.c (includes): Likewise.
16803
16804 2009-09-19  Jim Meyering  <meyering@redhat.com>
16805
16806         test-posixtm.c: correct a comment
16807         * tests/test-posixtm.c: Correct first-line comment.
16808         Spotted by Eric Blake.
16809
16810 2009-09-16  Jim Meyering  <meyering@redhat.com>
16811
16812         posixtm-tests: make T const-correct; add a test case
16813         * tests/test-posixtm.c (T): Declare const.
16814         Add a test for -(2^31+1).
16815         Remove useless can-succeed-only-in-2002 test.
16816
16817         posixtm-tests: adjust the sole failing test
16818         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
16819         expected output matches what mktime now produces.  Cross-checked via
16820         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
16821
16822         posixtm: move #ifdef'd tests into a new module
16823         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
16824         * tests/test-posixtm.c: ... this new file.
16825         * modules/posixtm-tests: New module.
16826
16827 2009-09-19  Eric Blake  <ebb9@byu.net>
16828
16829         openat: simplify use of at-func.c
16830         * lib/at-func.c (includes): Include prerequisites here, to
16831         simplify requirements on client files.
16832         * lib/openat-priv.h: Add double-inclusion guard.
16833         * lib/faccessat.c (includes): Simplify.
16834         * lib/fchmodat.c (includes): Likewise.
16835         * lib/fchownat.c (includes): Likewise.
16836         * lib/mkdirat.c (includes): Likewise.
16837         * lib/mkfifoat.c (includes): Likewise.
16838         * lib/symlinkat.c (includes): Likewise.
16839
16840         openat: allow return of fd 0
16841         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
16842         * modules/save-cwd (Depends-on): Replace fcntl-safer with
16843         unistd-safer.
16844         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
16845         <fcntl.h>; this module does not leak fds.
16846         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
16847         must be allowed to return 0, leaving openat_safer to add the
16848         safety.
16849         (openat_permissive): Avoid writing to just-opened fd 2 if
16850         restoring the current directory fails.
16851         * lib/openat-die.c (openat_restore_fail): Add comment.
16852         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
16853         (save_cwd): Guarantee safe fd, but without use of open_safer.
16854         * tests/test-openat.c: New test.
16855         * modules/openat-tests (Files, Makefile.am): Distribute and build
16856         new file.
16857
16858         relocatable-prog-wrapper: fix build
16859         * modules/relocatable-prog-wrapper (Files): Update name of
16860         canonicalize m4 file, broken on 2009-09-17.
16861         Reported by emad hajjar <aleppos@hotmail.com>.
16862
16863 2009-09-19  Bruno Haible  <bruno@clisp.org>
16864
16865         * lib/safe-alloc.h: Use the standard header with GPL copyright.
16866         * lib/safe-alloc.c: Likewise.
16867         Reported by Ian Beckwith <ianb@erislabs.net>.
16868
16869 2009-09-18  Bruno Haible  <bruno@clisp.org>
16870
16871         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
16872         Reported by <erobles@sensacd.com.mx>.
16873
16874 2009-09-17  Eric Blake  <ebb9@byu.net>
16875
16876         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
16877         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
16878         slashes when checking if last component is missing.
16879         * tests/test-canonicalize.c (main): Test this.
16880
16881         canonicalize, canonicalize-lgpl: honor // if distinct from /
16882         * modules/canonicalize (Files): Add double-slash-root.m4.
16883         * modules/canonicalize-lgpl (Files): Likewise.
16884         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
16885         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
16886         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
16887         fallback definition.
16888         (canonicalize_filename_mode): Use it to protect //.
16889         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
16890         (__realpath): Likewise.
16891         * tests/test-canonicalize.c (main): Test this.
16892         * tests/test-canonicalize-lgpl.c (main): Likewise.
16893         * modules/canonicalize-tests (Depends-on): Add same-inode.
16894         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
16895
16896         canonicalize-lgpl: fix glibc bug with trailing slash
16897         * m4/canonicalize-lgpl.m4: Move contents...
16898         * m4/canonicalize.m4: ...here.
16899         (gl_CANONICALIZE_LGPL): Factor realpath check...
16900         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
16901         glibc 2.3.5 bug, fixed 2005-04-27.
16902         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
16903         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
16904         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
16905         * modules/canonicalize-lgpl (Files): Manage file rename.
16906         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
16907         * modules/stdlib (Makefile.am): Substitute witness.
16908         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
16909         is needed.
16910         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
16911         replacement is required.
16912         * lib/canonicalize.c (canonicalize_file_name): Likewise.
16913         * doc/glibc-functions/canonicalize_file_name.texi
16914         (canonicalize_file_name): Document this.
16915         * doc/posix-functions/realpath.texi (realpath): Likewise.
16916
16917         canonicalize-lgpl: reject non-directory with trailing slash
16918         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
16919         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
16920         catches failures in glibc 2.3.5.
16921         * tests/test-canonicalize.c (main): Likewise.
16922
16923         canonicalize-lgpl: use native realpath if it works
16924         * lib/canonicalize-lgpl.c (realpath): Guard with
16925         FUNC_REALPATH_WORKS.
16926         * lib/stdlib.in.h (realpath): Make declaration optional based on
16927         HAVE_REALPATH.
16928         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
16929         native realpath works.
16930         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
16931         * modules/stdlib (Makefile.am): Substitute witness.
16932
16933         canonicalize, canonicalize-lgpl: use <stdlib.h>
16934         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
16935         (Include): Mention <stdlib.h>.
16936         (configure.ac): Mention functions we provide.
16937         * modules/canonicalize (configure.ac): Likewise.
16938         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
16939         realpath if canonicalize_file_name is missing.
16940         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
16941         * modules/stdlib (Makefile.am): Substitute witnesses.
16942         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
16943         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
16944         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
16945         * NEWS: Document this.
16946         * doc/glibc-functions/canonicalize_file_name.texi
16947         (canonicalize_file_name): Likewise.
16948         * doc/posix-functions/realpath.texi (realpath): Likewise.
16949         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
16950
16951         test-canonicalize: consolidate into single C program
16952         * tests/test-canonicalize.sh: Delete; move setup into...
16953         * tests/test-canonicalize.c (main): ...the program, making it
16954         easier to run in debugger.  Add some tests.
16955         * modules/canonicalize-tests (Files): Remove unused file.
16956         (Depends-on): Add progname.
16957         (configure.ac, Makefile.am): Simplify.
16958
16959         test-canonicalize-lgpl: consolidate into single C program
16960         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
16961         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
16962         easier to run in debugger.  Add some tests.
16963         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
16964         (configure.ac, Makefile.am): Simplify.
16965
16966         canonicalize: avoid resolvepath
16967         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
16968         unnecessary checks.
16969         * lib/canonicalize.c (includes): Simplify.
16970         (canonicalize_file_name): Drop resolvepath implementation.
16971         * modules/canonicalize (Depends-on): Drop filenamecat.
16972
16973         canonicalize: don't lose errno
16974         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
16975         over calls to free.
16976
16977         canonicalize: simplify errno handling
16978         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
16979         assignment.
16980
16981         canonicalize, canonicalize-lgpl: update module dependencies
16982         * modules/canonicalize (Depends-on): Add extensions, lstat,
16983         pathmax, stdlib.
16984         (Files): Drop pathmax.h.
16985         (configure.ac): Adjust macro name.
16986         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
16987         lstat, stdlib, sys_stat.
16988         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
16989         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
16990         extensions.
16991         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
16992         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
16993         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
16994         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
16995         declaration, if available.
16996         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
16997         we can rely on the readlink module.
16998         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
16999         (includes): Use <unistd.h> unconditionally.
17000
17001 2009-09-17  Eric Blake  <ebb9@byu.net>
17002
17003         maint: make Include sections of modules consistent
17004         * modules/alloca: Use only header name; no need to list #include.
17005         * modules/alloca-opt: Likewise.
17006         * modules/arpa_inet: Likewise.
17007         * modules/canon-host: Likewise.
17008         * modules/configmake: Likewise.
17009         * modules/dirent: Likewise.
17010         * modules/eealloc: Likewise.
17011         * modules/environ: Likewise.
17012         * modules/fchdir: Likewise.
17013         * modules/fcntl: Likewise.
17014         * modules/fcntl-h: Likewise.
17015         * modules/gethrxtime: Likewise.
17016         * modules/gettime: Likewise.
17017         * modules/ignore-value: Likewise.
17018         * modules/inet_ntop: Likewise.
17019         * modules/inet_pton: Likewise.
17020         * modules/inttypes: Likewise.
17021         * modules/isnand-nolibm: Likewise.
17022         * modules/isnanf-nolibm: Likewise.
17023         * modules/mbchar: Likewise.
17024         * modules/mbfile: Likewise.
17025         * modules/mbiter: Likewise.
17026         * modules/mbuiter: Likewise.
17027         * modules/netdb: Likewise.
17028         * modules/netinet_in: Likewise.
17029         * modules/nproc: Likewise.
17030         * modules/pagealign_alloc: Likewise.
17031         * modules/poll: Likewise.
17032         * modules/printf-frexp: Likewise.
17033         * modules/pthread: Likewise.
17034         * modules/putenv: Likewise.
17035         * modules/random_r: Likewise.
17036         * modules/relocatable-prog: Likewise.
17037         * modules/search: Likewise.
17038         * modules/select: Likewise.
17039         * modules/selinux-h: Likewise.
17040         * modules/settime: Likewise.
17041         * modules/signal: Likewise.
17042         * modules/size_max: Likewise.
17043         * modules/socklen: Likewise.
17044         * modules/ssize_t: Likewise.
17045         * modules/stdarg: Likewise.
17046         * modules/stdbool: Likewise.
17047         * modules/stddef: Likewise.
17048         * modules/stdint: Likewise.
17049         * modules/stdio: Likewise.
17050         * modules/stdlib: Likewise.
17051         * modules/string: Likewise.
17052         * modules/strings: Likewise.
17053         * modules/sys_file: Likewise.
17054         * modules/sys_ioctl: Likewise.
17055         * modules/sys_select: Likewise.
17056         * modules/sys_socket: Likewise.
17057         * modules/sys_stat: Likewise.
17058         * modules/sys_time: Likewise.
17059         * modules/sys_times: Likewise.
17060         * modules/sys_utsname: Likewise.
17061         * modules/sys_wait: Likewise.
17062         * modules/sysexits: Likewise.
17063         * modules/time: Likewise.
17064         * modules/times: Likewise.
17065         * modules/tmpfile: Likewise.
17066         * modules/trim: Likewise.
17067         * modules/unistd: Likewise.
17068         * modules/wchar: Likewise.
17069         * modules/wctype: Likewise.
17070
17071 2009-09-17  Bruno Haible  <bruno@clisp.org>
17072
17073         Make getdate.y compile on QNX and NetBSD 5 / i386.
17074         * m4/getdate.m4 (gl_GETDATE): Conditionally define
17075         TIME_T_FITS_IN_LONG_INT.
17076         * lib/getdate.y (long_time_t): New type.
17077         (relative_time): Change type of 'seconds' field to long_time_t.
17078         (get_date): Update types of local variables. Check against overflow
17079         during conversion from long_time_t to time_t.
17080         Reported by Matt Kraai <kraai@ftbfs.org>
17081         and Hasso Tepper <hasso@netbsd.org>.
17082
17083 2009-09-17  Bruno Haible  <bruno@clisp.org>
17084
17085         * modules/COPYING: Update copyright years.
17086         * modules/README: Likeiwse.
17087         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
17088         Reported by Ian Beckwith <ianb@erislabs.net>.
17089
17090 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
17091
17092         * users.txt: Update references for gnuit package.
17093
17094 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
17095
17096         * m4/getdelim.m4: Fix typo in copyright line.
17097
17098 2009-09-17  Bruno Haible  <bruno@clisp.org>
17099
17100         * lib/atoll.c: Use the standard header with GPL copyright.
17101         * lib/argz.in.h: Likewise.
17102         * lib/glob.c: Likewise.
17103         * lib/glob-libc.h: Likewise.
17104         * lib/random_r.c: Likewise.
17105         * lib/siglist.h: Likewise.
17106         * lib/strsignal.c: Likewise.
17107         Reported by Ian Beckwith <ianb@erislabs.net>.
17108
17109 2009-09-17  Eric Blake  <ebb9@byu.net>
17110
17111         rmdir: ensure correct dependency order
17112         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
17113
17114 2009-09-17  Bruno Haible  <bruno@clisp.org>
17115
17116         Disable assertion that fails on NetBSD 5 / i386.
17117         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
17118         Reported by Sam Steingold <sds@gnu.org>
17119         and Hasso Tepper <hasso@netbsd.org>.
17120
17121 2009-09-16  Eric Blake  <ebb9@byu.net>
17122
17123         unlinkdir: port to mingw
17124         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
17125         on which no one can unlink a directory.
17126
17127         stdlib: sort witness names
17128         * modules/stdlib (Makefile.am): Sort replacements.
17129         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
17130         * lib/stdlib.in.h: Likewise.
17131
17132         parse-duration-tests: avoid link failure
17133         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
17134         LIBINTL.
17135         Reported by Tom G. Christensen.
17136
17137         openat-tests: ensure unlinkat behaves like rmdir
17138         * tests/test-rmdir.c (main): Factor guts...
17139         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
17140         * modules/rmdir-tests (Files): Ship new file.
17141         * modules/openat-tests: New test.
17142         * tests/test-unlinkat.c: Likewise.
17143
17144         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
17145         * modules/rmdir-errno (Status, Notice): Now obsolete.
17146
17147         rmdir: work around cygwin 1.5.x and mingw bugs
17148         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
17149         * lib/rmdir.c (rmdir): Work around it.
17150         * modules/rmdir (Status, Notice): No longer obsolete.
17151         (Files): Add dos.m4.
17152         (Depends-on): Add unistd.
17153         (configure.ac): Set witnesses.
17154         (License): Relax to LGPLv2+.
17155         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
17156         * modules/unistd (Makefile.am): Substitute witnesses.
17157         * lib/unistd.in.h (rmdir): Declare replacement.
17158         * doc/posix-functions/rmdir.texi (rmdir): Document this.
17159         * modules/rmdir-tests: New tests.
17160         * tests/test-rmdir.c: Likewise.
17161
17162 2009-09-15  Eric Blake  <ebb9@byu.net>
17163
17164         fchdir: improve use of replacement functions
17165         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
17166         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
17167         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
17168         REPLACE_CLOSEDIR.
17169         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
17170         * modules/sys_stat (Makefile.am): Substitute correct witness.
17171         * modules/dirent (Makefile.am): Likewise.
17172         * modules/unistd (Makefile.am): Likewise.
17173         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
17174         * lib/unistd.in.h (dup): Likewise.
17175         * lib/sys_stat.in.h (fstat): Likewise.
17176
17177         maint: ignore gnulib-tool temp files
17178         * .gitignore: Ignore files created during gnulib-tool --test.
17179
17180 2009-09-13  Jim Meyering  <meyering@redhat.com>
17181
17182         posixtm: don't reject a time that specify "60" as the number of seconds
17183         * lib/posixtm.c (posixtime): The code to reject invalid dates
17184         would also reject a time specified with the .60 suffix.
17185         But POSIX allows that, in order to accommodate leap seconds.
17186         So don't reject it.
17187         (main): Adjust tests accordingly.
17188         * modules/posixtm (Depends-on): Add stpcpy.
17189
17190 2009-09-11  Jim Meyering  <meyering@redhat.com>
17191
17192         announce-gen: include [$release_type] in emitted Subject:
17193         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
17194         e.g., [stable] in the emitted Subject: line.
17195
17196 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17197
17198         Remove obsolete macros from several modules.
17199         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
17200         obsolete Autoconf macros with their modern counterparts.
17201         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
17202         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
17203         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
17204         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
17205         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
17206         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
17207         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
17208         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
17209         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
17210         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
17211         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
17212         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
17213         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
17214         * m4/sockets.m4 (gl_SOCKETS): Likewise.
17215         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
17216         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
17217         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
17218         * m4/time_r.m4 (gl_TIME_R): Likewise.
17219         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
17220         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
17221         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
17222
17223         Fix copyright header in build-aux scripts.
17224         * build-aux/git-version-gen: Fix copyright header to match GPLv3
17225         recommendation.
17226         * build-aux/ncftpput-ftp: Likewise.
17227         * build-aux/update-copyright: Likewise.
17228
17229 2009-09-09  Eric Blake  <ebb9@byu.net>
17230
17231         test-link: allow Linux choice of errno
17232         * tests/test-link.c (main): Relax test for alternate error.
17233
17234         strndup: fix improper m4 caching
17235         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
17236         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
17237         (gl_PREREQ_STRNDUP): Delete.
17238         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
17239         * modules/string (Makefile.am): Substitute it.
17240         * lib/string.in.h (strndup): Modernize prototype.
17241
17242         getcwd: port to mingw
17243         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
17244         different from the POSIX assumptions made throughout the getcwd
17245         module; fortunately, the mingw getcwd does not need replacement.
17246         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
17247         * modules/getcwd-tests: New test.
17248         * tests/test-getcwd.c: Likewise.
17249
17250         link: fix platform bugs
17251         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
17252         * lib/link.c (link): Work around them.  Fix related mingw bug.
17253         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
17254         * modules/unistd (Makefile.am): Substitute it.
17255         * lib/unistd.in.h (link): Declare replacement.
17256         * doc/posix-functions/link.texi (link): Document this.
17257         * modules/link (Depends-on): Add strdup-posix, sys_stat.
17258
17259         test-link: consolidate into single C program, test more cases
17260         * tests/test-link.sh: Delete.
17261         * tests/test-link.c: Test more error conditions.  Exposes bugs on
17262         at least Cygwin and Solaris.
17263         * modules/link-tests (Files): Remove unused file.
17264         (Depends-on): Add errno, sys_stat.
17265         (Makefile.am): Simplify.
17266
17267 2009-09-08  Bruno Haible  <bruno@clisp.org>
17268
17269         Work around towlower, towupper bug on mingw.
17270         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
17271         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
17272         * doc/posix-functions/towlower.texi: Mention the mingw bug.
17273         * doc/posix-functions/towupper.texi: Likewise.
17274         Reported by Eric Blake.
17275
17276 2009-09-08  Jim Meyering  <meyering@redhat.com>
17277
17278         build: don't try to run autoheader if we don't use it
17279         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
17280         is not used in configure.ac.
17281
17282 2009-09-08  Eric Blake  <ebb9@byu.net>
17283
17284         euidaccess: fix compilation error
17285         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
17286
17287         rawmemchr: relax license
17288         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
17289         okay.
17290         Reported by Jim Meyering.
17291
17292         mkfifoat: new module
17293         * modules/mkfifoat: New file.
17294         * lib/mkfifoat.c: Likewise.
17295         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
17296         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
17297         * modules/sys_stat (Makefile.am): Use them.
17298         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
17299         * MODULES.html.sh (File system functions): Mention module.
17300         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
17301         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
17302         * modules/mkfifoat-tests: New test.
17303         * tests/test-mkfifoat.c: Likewise.
17304
17305         strchrnul: relax license
17306         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
17307         okay.
17308         Reported by Jim Meyering.
17309
17310 2009-09-08  Eric Blake  <ebb9@byu.net>
17311
17312         fstatat: fix compilation on Solaris
17313         * lib/fstatat.c (includes): Add fcntl.h.
17314         Reported by Pádraig Brady.
17315
17316 2009-09-07  Eric Blake  <ebb9@byu.net>
17317
17318         rename: modernize replacement
17319         * modules/rename (Depends-on): Add stdio.
17320         (configure.ac): Declare witness.
17321         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
17322         stdio take care of replacement.
17323         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
17324         * modules/stdio (Makefile.am): Substitute them.
17325         * lib/stdio.in.h (rename): Declare replacement.
17326         * lib/rename.c (includes): Allow cross-compilation to non-windows
17327         machines.
17328         * doc/posix-functions/rename.texi (rename): Improve
17329         documentation.
17330
17331         stdio: sort witness names
17332         * modules/stdio (Makefile.am): Sort replacements.
17333         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
17334         * lib/stdio.in.h: Likewise.
17335
17336         getcwd: minor cleanups
17337         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
17338         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
17339
17340         openat: provide more convenience names
17341         * modules/faccessat (configure.ac): Add C witness.
17342         * lib/unistd.in.h (readlinkat): Fix typo.
17343         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
17344         convenience wrappers.
17345         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
17346         wrappers in syntax checks.
17347
17348 2009-09-06  Eric Blake  <ebb9@byu.net>
17349
17350         doc: fix comments in recent patches
17351         * lib/faccessat.c: Mention correct function.
17352         * lib/fchmodat.c: Likewise.
17353         * lib/fchownat.c: Likewise.
17354         * lib/symlinkat.c: Likewise.
17355         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
17356         constants.
17357
17358         faccessat, symlinkat: continue cleanup of previous patch
17359         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
17360         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
17361         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
17362         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
17363         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
17364         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
17365         set.
17366
17367 2009-09-06  Bruno Haible  <bruno@clisp.org>
17368
17369         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
17370         (fstatat): Declare if GNULIB_FSTATAT is set.
17371         (mkdirat): Declare if GNULIB_MKDIRAT is set.
17372         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
17373         (unlinkat): Declare if GNULIB_UNLINKAT is set.
17374         * modules/fcntl-h (Files): Remove m4/openat.m4.
17375         * modules/sys_stat (Files): Remove m4/openat.m4.
17376         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
17377         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
17378         * modules/unistd (Files): Remove m4/openat.m4.
17379         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
17380         GNULIB_OPENAT.
17381         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
17382         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
17383         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
17384         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
17385         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
17386         gl_OPENAT_DEFAULTS.
17387         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
17388         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
17389         Don't require gl_OPENAT_DEFAULTS.
17390         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
17391         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
17392         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
17393         (gl_OPENAT_DEFAULTS): Remove macro.
17394
17395 2009-09-06  Bruno Haible  <bruno@clisp.org>
17396
17397         * modules/openat (configure.ac): Remove unneeded witness.
17398
17399 2009-09-06  Bruno Haible  <bruno@clisp.org>
17400
17401         Set errno to ENOSYS when a function is entirely unsupported.
17402         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
17403         EOPNOTSUPP.
17404         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
17405         * modules/chown (Depends-on): Remove errno.
17406
17407 2009-09-06  Bruno Haible  <bruno@clisp.org>
17408
17409         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
17410
17411 2009-09-06  Bruno Haible  <bruno@clisp.org>
17412
17413         * lib/sys_stat.in.h: Fix preprocessor command indentation.
17414
17415 2009-09-06  Ben Pfaff  <blp@gnu.org>
17416             Bruno Haible  <bruno@clisp.org>
17417
17418         Work around a glibc bug in strtok_r.
17419         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
17420         Undefine if UNDEFINE_STRTOK_R is set.
17421         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
17422         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
17423         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
17424         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
17425         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
17426         UNDEFINE_STRTOK_R.
17427         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
17428
17429 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
17430
17431         exclude: minor fix
17432         * lib/exclude.c: Include wctype.h
17433
17434 2009-09-06  Akim Demaille  <demaille@gostai.com>
17435
17436         bootstrap: improve error message
17437         * build-aux/bootstrap (find_tool): Upon failure, report the list
17438         of candidates.
17439         Honor the initial value of the envvar.
17440
17441 2009-09-05  Eric Blake  <ebb9@byu.net>
17442
17443         symlinkat: new module
17444         * modules/symlinkat: New file.
17445         * lib/symlinkat.c: Likewise.
17446         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
17447         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
17448         * modules/unistd (Makefile.am): Use them.
17449         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
17450         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
17451         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
17452         * MODULES.html.sh (File system functions): Mention module.
17453         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
17454         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
17455         * modules/symlinkat-tests: New test.
17456         * tests/test-symlinkat.c: Likewise.
17457
17458         test-openat-safer: add more checks
17459         * tests/test-openat-safer.c (main): Check more code paths.
17460
17461 2009-09-05  Jim Meyering  <meyering@redhat.com>
17462
17463         syntax-check: detect unnecessary inclusion of openat.h
17464         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
17465
17466 2009-09-05  Bruno Haible  <bruno@clisp.org>
17467
17468         Support towlower, towupper.
17469         * doc/posix-functions/towlower.texi: Mention module wctype.
17470         * doc/posix-functions/towupper.texi: Likewise.
17471         * lib/wctype.in.h (towlower, towupper): New functions.
17472         * tests/test-wctype.c: Include stdio.h, stdlib.h.
17473         (ASSERT): New macro.
17474         (e): New variable.
17475         (main): Test also towlower, towupper. Test WEOF argument.
17476         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
17477
17478 2009-09-05  Bruno Haible  <bruno@clisp.org>
17479
17480         Fix conversion behaviour when the input is invalid.
17481         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
17482         mark occurring in first pass of indirect conversion.
17483         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
17484         input.
17485         Found by clang's static analyzer.
17486
17487 2009-09-05  Bruno Haible  <bruno@clisp.org>
17488
17489         * tests/test-striconveh.c (main): Test indirect conversion on platforms
17490         where direct conversion is possible.
17491
17492 2009-09-04  Eric Blake  <ebb9@byu.net>
17493
17494         openat: fail with ENOENT on empty name
17495         * lib/openat-proc.c (openat_proc_name): Special-case the empty
17496         buffer.
17497
17498         link-follow: fix logic bug in prior patch
17499         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
17500         reversed sense of yes and no in prior patch.  Avoid confusing
17501         compilation failure with desired semantics.
17502
17503         link-follow: accomodate mingw and cross-compilation
17504         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
17505         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
17506         cross-compilation results to -1, to make linkat easier to
17507         implement when cross-compiling.  Trivially support mingw.
17508         * modules/link-follow (configure.ac): Call new name.
17509         * NEWS: Mention this.
17510
17511 2009-09-03  Eric Blake  <ebb9@byu.net>
17512
17513         faccessat: compile replacement
17514         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
17515         needed.
17516
17517         fts: fix compilation error
17518         * lib/fts.c (includes): Re-add "openat.h", for
17519         openat_needs_fchdir.
17520
17521         faccessat: new module
17522         * modules/faccessat: New file.
17523         * lib/faccessat.c: Likewise.
17524         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
17525         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
17526         * modules/unistd (Makefile.am): Use it.
17527         * lib/unistd.in.h (faccessat): Declare it.
17528         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
17529         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
17530         * MODULES.html.sh (File system functions): Mention it.
17531         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
17532         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
17533
17534         euidaccess: prefer POSIX over non-standard implementation
17535         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
17536         * lib/euidaccess.c (euidaccess): Use it if available.
17537
17538         openat: make template easier to use
17539         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
17540         AT_FUNC_F2 to be undefined.
17541         (VALIDATE_FLAG): New macro; use it to reject bad flags.
17542         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
17543         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
17544         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
17545         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
17546         Likewise.
17547         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
17548         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
17549         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
17550         Likewise.
17551
17552         openat: declare in POSIX headers
17553         * NEWS: Mention this.
17554         * modules/openat (configure.ac): Declare witnesses.
17555         (Depends-on): Add fcntl-h, sys_stat, unistd.
17556         (Include): Mention correct headers.
17557         * modules/fcntl-h (Depends-on): Add link-warning.
17558         (Files): Add openat.m4.
17559         (Makefile.am): Substitute witnesses.
17560         * modules/sys_stat (Files, Makefile.am): Likewise.
17561         * modules/unistd (Files, Makefile.am): Likewise.
17562         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
17563         (gl_OPENAT_DEFAULTS): New macro.
17564         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
17565         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
17566         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
17567         (SYS_STAT_H): Remove unused variable.
17568         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
17569         * lib/fcntl--.h (includes): Remove unneeded header.
17570         * lib/openat-safer.c (includes): Likewise.
17571         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
17572         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
17573         appropriate headers.
17574         (__OPENAT_PREFIX): Delete.
17575         * lib/fcntl.in.h (openat): Provide declaration.
17576         (AT_FDCWD): Fix Solaris bug.
17577         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
17578         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
17579         * lib/fchmodat.c (includes):  Adjust to find declaration.
17580         * lib/fchownat.c (includes): Likewise.
17581         * lib/mkdirat.c (includes): Likewise.
17582         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
17583         still visible.
17584
17585 2009-09-02  Eric Blake  <ebb9@byu.net>
17586
17587         errno: use consistently
17588         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
17589         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
17590         * lib/canonicalize.c (ELOOP): Likewise.
17591         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
17592         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
17593         * lib/lchown.c (EOPNOTSUPP): Likewise.
17594         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
17595         * lib/savewd.c (ESTALE): Likewise.
17596         * lib/settime.c (ENOSYS): Likewise.
17597         * lib/utimens.c (ENOSYS): Likewise.
17598         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
17599         * lib/chdir-safer.c (ELOOP): Likewise.
17600         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
17601         * modules/c-stack (Depends-on): Add errno.
17602         * modules/canonicalize (Depends-on): Likewise.
17603         * modules/chdir-safer (Depends-on): Likewise.
17604         * modules/fdopendir (Depends-on): Likewise.
17605         * modules/inet_ntop (Depends-on): Likewise.
17606         * modules/inet_pton (Depends-on): Likewise.
17607         * modules/lchown (Depends-on): Likewise.
17608         * modules/openat (Depends-on): Likewise.
17609         * modules/savewd (Depends-on): Likewise.
17610         * modules/settime (Depends-on): Likewise.
17611         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
17612
17613         fts: avoid leaking fds
17614         * modules/fts (Depends-on): Add cloexec.
17615         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
17616         flag.
17617
17618         fts: make directory fds more robust
17619         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
17620         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
17621
17622         backupfile, chdir-long, fts, savedir: make safer
17623         * lib/backupfile.c (includes): Use "dirent--.h", since
17624         numbered_backup can write to stderr during readdir.
17625         * lib/savedir.c (includes): Likewise.
17626         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
17627         emulation can write to stderr on failure.
17628         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
17629         * lib/getcwd.c: Document why opendir_safer is unused.
17630         * lib/glob.c: Likewise.
17631         * lib/scandir.c: Likewise.
17632         * lib/openat-proc.c: Likewise, for open_safer.
17633         * modules/backupfile (Depends-on): Add dirent-safer.
17634         * modules/savedir (Depends-on): Likewise.
17635         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
17636         * modules/chdir-long (Depends-on): Add openat-safer.
17637
17638         openat-safer: new module
17639         * modules/openat-safer: New file.
17640         * lib/openat-safer.c: Likewise.
17641         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
17642         * lib/fcntl-safer.h (openat_safer): Declare.
17643         * lib/fcntl--.h (openat): Override.
17644         * MODULES.html.sh (File descriptor based I/O): Mention it.
17645         * lib/openat.h: Add double-inclusion guards.
17646         * lib/openat.c (includes): Only include "fcntl-safer.h", not
17647         "fcntl--.h", so we can implement openat.
17648         * modules/openat-safer-tests: New test.
17649         * tests/test-openat-safer.c: New file.
17650
17651         dirent-safer: new module
17652         * modules/dirent-safer: New file.
17653         * lib/dirent--.h: Likewise.
17654         * lib/dirent-safer.h: Likewise.
17655         * lib/opendir-safer.c: Likewise.
17656         * m4/dirent-safer.m4: Likewise.
17657         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
17658         * modules/dirent-safer-tests: New test.
17659         * tests/test-dirent-safer.c: New file.
17660         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
17661
17662         fdopendir: optimize on mingw
17663         * lib/unistd.in.h (_gl_directory_name): New prototype.
17664         * lib/fchdir.c (_gl_directory_name): Implement it.
17665         (fchdir): Use it to simplify implementation.
17666         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
17667         fchdir, when available, to avoid calling [f]chdir().
17668
17669         fdopendir: split into its own module
17670         * lib/openat.c (fdopendir): Move...
17671         * lib/fdopendir.c: ...into new file.
17672         * modules/fdopendir: New module.
17673         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
17674         * modules/openat (Depends-on): Add fdopendir.
17675         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
17676         fdopendir here.
17677         * modules/savedir (Depends-on): Only need fdopendir, not full
17678         openat.
17679         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
17680         * lib/openat.h (fdopendir): Drop prototype.
17681         * lib/dirent.in.h (fdopendir): Provide prototype.
17682         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
17683         * modules/dirent (Makefile.am): Substitute them.
17684         * MODULES.html.sh (File system functions): Mention it.
17685         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
17686         * modules/fdopendir-tests: New file.
17687         * tests/test-fdopendir.c: Likewise.
17688
17689         fchdir: use more consistent macro convention
17690         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
17691         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
17692         REPLACE_FCHDIR, rather than relying on config.h macros.
17693         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
17694         inside a single make-time REPLACE_FCHDIR block, rather than using
17695         the config.h FCHDIR_REPLACEMENT.
17696         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
17697         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
17698         Manage fstat replacement.
17699         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
17700         REPLACE_FCHDIR.
17701         * modules/sys_stat (Files): Add m4/unistd_h.m4.
17702         (Makefile.am): Substitute REPLACE_FCHDIR.
17703         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
17704         FCHDIR_REPLACEMENT.
17705         * lib/dup-safer.c (dup_safer): Likewise.
17706         * lib/dup2.c (rpl_dup2): Likewise.
17707         * lib/dup3.c (rpl_dup3): Likewise.
17708         * lib/open.c (rpl_open): Likewise.
17709
17710         fchdir: simplify error handling, and support dup3
17711         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
17712         stdbool, malloc-posix, realloc-posix.
17713         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
17714         (ensure_dirs_slot): Return false on allocation failure.
17715         (rpl_dup2): Delete.
17716         (_gl_register_dup): New function.
17717         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
17718         (_gl_register_fd): Close fd on allocation failure.
17719         * lib/fcntl.in.h (_gl_register_fd): Update signature.
17720         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
17721         prototype.
17722         (rpl_dup2_fchdir): Delete prototype.
17723         * lib/open.c (open): Update caller.
17724         * lib/dup2.c (dup2): Track fchdir metadata.
17725         * lib/dup3.c (dup3): Likewise.
17726         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
17727         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
17728
17729 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17730
17731         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
17732         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
17733         don't pass arguments to AC_OUTPUT.
17734
17735 2009-09-02  Bruno Haible  <bruno@clisp.org>
17736
17737         * modules/mkdtemp (License): Relicense under LGPLv2+.
17738         Reported by Paolo Bonzini.
17739
17740 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17741
17742         Replace uses of obsolete autoconf macros in Jim's modules.
17743         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
17744         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
17745         can evoke a warning from autoconf when run with -Wobsolete
17746         enabled.  They were declared obsolete for good reasons (see
17747         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
17748         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
17749         should not continue using the deprecated macros.
17750         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
17751         obsolete Autoconf macros with modern counterparts.
17752         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
17753         * m4/dos.m4 (gl_AC_DOS): Likewise.
17754         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
17755         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
17756         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
17757         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
17758         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
17759         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
17760         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
17761         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
17762         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
17763         Likewise.
17764         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
17765         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
17766         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
17767         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
17768         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
17769         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
17770
17771 2009-09-01  Eric Blake  <ebb9@byu.net>
17772
17773         fchdir: fix off-by-one bug in previous patch
17774         * lib/fchdir.c (rpl_fstat): Use correct bounds.
17775         (_gl_unregister_fd): Delete useless if.
17776
17777 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
17778
17779         maint.mk: sort the list of syntax-check rules
17780         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
17781         easier to get a sense of progress when the rules are run sequentially
17782         and take a long time.
17783
17784 2009-09-01  Simon Josefsson  <simon@josefsson.org>
17785
17786         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
17787         * modules/netinet_in: Likewise.
17788         * modules/sys_file: Likewise.
17789         * modules/sys_ioctl: Likewise.
17790         * modules/sys_select: Likewise.
17791         * modules/sys_socket: Likewise.
17792         * modules/sys_stat: Likewise.
17793         * modules/sys_time: Likewise.
17794         * modules/sys_times: Likewise.
17795         * modules/sys_utsname: Likewise.
17796         * modules/sys_wait: Likewise.
17797
17798 2009-09-01  Jim Meyering  <meyering@redhat.com>
17799
17800         fts: help ensure that return values are not ignored
17801         * lib/fts_.h (__GNUC_PREREQ): Define.
17802         (__attribute_warn_unused_result__): Define.
17803         (fts_children, fts_close, fts_open, fts_read): Declare with
17804         __attribute_warn_unused_result__.
17805
17806         fts: fts_close now fails also when closing a dir file descriptor fails
17807         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
17808         and propagate to caller, along with errno.
17809
17810         announce-gen: correct formatting in --help output
17811         * build-aux/announce-gen (usage): Move the one-line description in
17812         --help output "up", to where it belongs, just after Usage:.
17813
17814 2009-08-31  Eric Blake  <ebb9@byu.net>
17815
17816         fchdir: port to mingw
17817         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
17818         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
17819         opened, then use a substitute.
17820         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
17821         replacement.
17822         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
17823         (_gl_register_fd): No need to check stat if open already filters
17824         all directories.
17825         (fchdir): Fix error condition to match POSIX.
17826         * modules/fchdir (Depends-on): Add sys_stat.
17827         * doc/posix-functions/open.texi (open): Document the limitation.
17828         * modules/fchdir-tests: New file.
17829         * tests/test-fchdir.c: Likewise.
17830
17831         canonicalize: allow cross-testing from cygwin to mingw
17832         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
17833         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
17834         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
17835         Likewise.
17836         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
17837         target does not support symlinks.
17838         * tests/test-canonicalize-lgpl.sh: Likewise.
17839
17840         chown: avoid compilation warning on mingw
17841         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
17842         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
17843         mingw.
17844         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
17845         * modules/chown (Depends-on): Add errno.
17846
17847 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
17848
17849         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
17850         command.
17851
17852 2009-08-31  Jim Meyering  <meyering@redhat.com>
17853
17854         canonicalize: remove useless initialization
17855         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
17856         initialization of local, "end".
17857
17858 2009-08-30  Bruno Haible  <bruno@clisp.org>
17859
17860         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
17861         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
17862         ENOSYS.
17863
17864 2009-08-30  Bruno Haible  <bruno@clisp.org>
17865
17866         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
17867         /usr/xpg4/bin/tr when it exists.
17868         * tests/test-pipe-filter-gi1.sh: Likewise.
17869
17870 2009-08-30  Bruno Haible  <bruno@clisp.org>
17871
17872         Work around deficient /usr/bin/id program on Solaris.
17873         * tests/test-file-has-acl.sh (ID): New variable.
17874         * tests/test-set-mode-acl.sh (ID): Likewise.
17875         * tests/test-copy-acl.sh (ID): Likewise.
17876         * tests/test-copy-file.sh (ID): Likewise.
17877
17878 2009-08-30  Bruno Haible  <bruno@clisp.org>
17879
17880         New module 'xstriconveh'.
17881         * lib/xstriconveh.h: New file.
17882         * lib/xstriconveh.c: New file.
17883         * modules/xstriconveh: New file.
17884
17885 2009-08-30  Bruno Haible  <bruno@clisp.org>
17886
17887         Make it easier to use mem_cd_iconveh.
17888         * lib/striconveh.h (iconveh_t): New type.
17889         (iconveh_open, iconveh_close): New declarations.
17890         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
17891         with a single 'const iconveh_t *' argument.
17892         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
17893         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
17894         with a single 'const iconveh_t *' argument.
17895         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
17896         * tests/test-striconveh.c (main): Update.
17897         * NEWS: Mention the change.
17898
17899 2009-08-30  Bruno Haible  <bruno@clisp.org>
17900
17901         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
17902         problem.
17903
17904 2009-08-30  Bruno Haible  <bruno@clisp.org>
17905
17906         Work around iconv_open problem on Solaris.
17907         * lib/iconv_open-solaris.gperf: New file.
17908         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
17909         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
17910         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
17911         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
17912         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
17913         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
17914
17915 2009-08-29  Jim Meyering  <meyering@redhat.com>
17916
17917         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
17918         * top/maint.mk (cvs-check): Remove target; it was just an alias
17919         to the better-named vc-diff-check.
17920         (maintainer-distcheck): Remove rule.  It was used only from
17921         the (alpha/beta/major) target, and all of its commands but one
17922         were coreutils-specific.
17923         (vc-dist): Remove rule.
17924         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
17925         Run vc-diff-check, not vc-dist.
17926         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
17927
17928 2009-08-27  Bruno Haible  <bruno@clisp.org>
17929
17930         * tests/test-bitrotate.c (main): Remove test that uses a shift count
17931         of 0.
17932
17933 2009-08-27  Bruno Haible  <bruno@clisp.org>
17934
17935         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
17936         compilers.
17937         * doc/func.texi: Document the SunPRO C bug.
17938
17939 2009-08-27  Bruno Haible  <bruno@clisp.org>
17940
17941         Fix link error on Solaris.
17942         * tests/test-parse-duration.c (xstrdup): Remove function.
17943
17944 2009-08-26  Pádraig Brady  <P@draigbrady.com>
17945
17946         ignore-value: handle pointer types, too
17947         * lib/ignore-value.h (__attribute__): Remove definition.
17948         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
17949         of a more concise and more-often effective "(void) i" statement.
17950         (ignore_ptr): New function to suppress warnings from functions that
17951         return pointers, and to make it explicit that one function doesn't
17952         handle all cases.
17953
17954 2009-08-25  Bruno Haible  <bruno@clisp.org>
17955
17956         dup2: work around a Linux bug.
17957         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
17958         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
17959         * doc/posix-functions/dup2.texi: Mention the Linux bug.
17960         Reported by Simon Josefsson.
17961
17962 2009-08-25  Jim Meyering  <meyering@redhat.com>
17963
17964         libguestfs uses gnulib
17965         * users.txt: Add libguestfs.
17966
17967 2009-08-24  Eric Blake  <ebb9@byu.net>
17968
17969         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
17970         * lib/pipe2.c (includes): Add binary-io.h.
17971         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
17972
17973 2009-08-24  Bruno Haible  <bruno@clisp.org>
17974
17975         Tolerate declared but missing accept4 syscall.
17976         * lib/accept4.c (accept4): Invoke original accept4 function first, if
17977         available.
17978         * lib/sys_socket.in.h (accept4): If the function is already present,
17979         override it.
17980         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
17981         * modules/accept4 (Makefile.am): Compile accept4.c always.
17982         Reported by Paolo Bonzini and Eric Blake.
17983
17984 2009-08-23  Bruno Haible  <bruno@clisp.org>
17985
17986         New module 'accept4'.
17987         * lib/sys_socket.in.h (accept4): New declaration.
17988         * lib/accept4.c: New file.
17989         * m4/accept4.m4: New file.
17990         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
17991         GNULIB_ACCEPT4, HAVE_ACCEPT4.
17992         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
17993         HAVE_ACCEPT4.
17994         * modules/accept4: New file.
17995         * doc/glibc-functions/accept4.texi: Mention the new module.
17996
17997 2009-08-24  Jim Meyering  <meyering@redhat.com>
17998
17999         progname: also set global program_invocation_name, when possible
18000         Before this change, a libtool-enabled program that calls glibc's
18001         error function would report the program name as
18002         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
18003         * modules/progname (configure.ac): Check for a declaration of
18004         program_invocation_name.
18005         * lib/progname.c:  Include <errno.h>.
18006         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
18007         Set program_invocation_name.
18008
18009 2009-08-23  Bruno Haible  <bruno@clisp.org>
18010
18011         * lib/dup3.c: Include <string.h>.
18012
18013 2009-08-23  Bruno Haible  <bruno@clisp.org>
18014
18015         * lib/dup3.c (dup3): Test only once whether the system actually exists.
18016         * lib/pipe2.c (pipe2): Likewise.
18017         Suggested by Eric Blake.
18018
18019 2009-08-23  Bruno Haible  <bruno@clisp.org>
18020
18021         Tolerate declared but missing dup3 syscall.
18022         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
18023         * lib/unistd.in.h (dup3): If the function is already present,
18024         override it.
18025         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
18026         * modules/dup3 (Makefile.am): Compile dup3.c always.
18027         Reported by Paolo Bonzini.
18028
18029 2009-08-23  Bruno Haible  <bruno@clisp.org>
18030
18031         Tolerate declared but missing pipe2 syscall.
18032         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
18033         available.
18034         * lib/unistd.in.h (pipe2): If the function is already present,
18035         override it.
18036         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
18037         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
18038         Reported by Paolo Bonzini.
18039
18040 2009-08-23  Bruno Haible  <bruno@clisp.org>
18041
18042         * lib/pipe2.c (pipe2): Move #ifs inside function.
18043
18044 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
18045
18046         quotearg: document limitations of quote_these_too
18047         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
18048         those limitations are created.
18049         * lib/quotearg.h (set_char_quoting): Document that digits and
18050         letters that are special after backslash are not permitted.
18051         (quotearg_char): Cross-reference set_char_quoting documentation.
18052
18053 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
18054
18055         quotearg: implement custom_quoting_style
18056         * lib/quotearg.c: (struct quoting_options): Add left_quote and
18057         right_quote fields.
18058         (set_custom_quoting): New public function.
18059         (quotearg_buffer_restyled): Add left_quote and right_quote
18060         arguments, handle them very much like locale quoting, and update
18061         all uses.
18062         (quotearg_n_custom): New public function.
18063         (quotearg_n_custom_mem): New public function.
18064         (quotearg_custom): New public function.
18065         (quotearg_custom_mem): New public function.
18066         * lib/quotearg.h: Prototype and document new public functions.
18067         (enum quoting_style): For escape_quoting_style and
18068         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
18069         ignored even though they're otherwise like c_quoting_style.
18070         Add custom_quoting_style member and document with comparison to
18071         clocale_quoting_style.
18072         * tests/test-quotearg.c (custom_quotes): New array.
18073         (custom_results): New array.
18074         (main): Extend to test custom quoting.
18075
18076 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
18077
18078         quotearg: fix right quote escaping when it's in quote_these_too
18079         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
18080         quote, be sure to prepend only one backslash.
18081         * tests/test-quotearg.c (use_quote_double_quotes): New function.
18082         (main): Test it.
18083
18084 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
18085
18086         quotearg-tests: test escaping of embedded locale quotes
18087         * tests/test-quotearg.c (struct result_strings): Add member for
18088         new input.
18089         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
18090         (inputs): Add new input.
18091         (results_g): Add expected results.
18092         (flag_results): Likewise.
18093         (locale_results): Likewise.
18094         (compare_strings): Check those.
18095
18096 2009-08-23  Bruno Haible  <bruno@clisp.org>
18097
18098         Tests for module 'dup3'.
18099         * modules/dup3-tests: New file.
18100         * tests/test-dup3.c: New file.
18101
18102         New module 'dup3'.
18103         * lib/unistd.in.h (dup3): New declaration.
18104         * lib/dup3.c: New file.
18105         * m4/dup3.m4: New file.
18106         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
18107         HAVE_DUP3.
18108         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
18109         * modules/dup3: New file.
18110         * doc/glibc-functions/dup3.texi: Mention the new module.
18111
18112 2009-08-23  Bruno Haible  <bruno@clisp.org>
18113
18114         Tweak the dup2 test.
18115         * tests/test-dup2.c (main): Create the test file empty. Verify that an
18116         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
18117         the test file is still empty. Fix argument order of lseek.
18118
18119 2009-08-23  Bruno Haible  <bruno@clisp.org>
18120
18121         Avoid test link errors when the modules getopt-gnu, gettext are used.
18122         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
18123         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
18124
18125 2009-08-23  Bruno Haible  <bruno@clisp.org>
18126
18127         Fix getdtablesize() on mingw.
18128         * lib/getdtablesize.c (getdtablesize): Implement differently.
18129         * lib/unistd.in.h (getdtablesize): Improve comment.
18130
18131 2009-08-23  Bruno Haible  <bruno@clisp.org>
18132
18133         New module 'mkostemp'.
18134         Based on Ulrich Drepper's 2007-08-10 change in glibc.
18135         * lib/stdlib.in.h (mksotemp): New declaration.
18136         * lib/mkostemp.c: New file, from glibc with modifications.
18137         * lib/tempname.h (GT_FILE): Remove outdated comment.
18138         (gen_tempname): Add flags argument.
18139         * lib/tempname.c (__GT_BIGFILE): Remove macro.
18140         (__GT_FILE): Map to 1.
18141         (small_open, large_open): Remove macros.
18142         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
18143         * lib/mkstemp.c (mkstemp): Update.
18144         * lib/mkdtemp.c (mkdtemp): Likewise.
18145         * m4/mkostemp.m4: New file.
18146         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
18147         HAVE_MKOSTEMP.
18148         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
18149         HAVE_MKOSTEMP.
18150         * modules/mkostemp: New file, based on modules/mkstemp.
18151         * doc/glibc-functions/mkostemp.texi: Mention the new module.
18152         * NEWS: Mention the change.
18153
18154 2009-08-23  Bruno Haible  <bruno@clisp.org>
18155
18156         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
18157         Reported by Eric Blake.
18158
18159 2009-08-23  Bruno Haible  <bruno@clisp.org>
18160
18161         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
18162         Reported by Eric Blake.
18163
18164 2009-08-23  Bruno Haible  <bruno@clisp.org>
18165
18166         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
18167         * modules/pipe2 (Depends-on): Likewise.
18168
18169 2009-08-23  Eric Blake  <ebb9@byu.net>
18170
18171         fcntl-h: add O_TTY_INIT support
18172         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
18173         * tests/test-fcntl-h.c (o): Test it.
18174         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
18175
18176         fcntl-h: rename from fcntl, in preparation for fcntl(2)
18177         * modules/fcntl: Move <fcntl.h> header replacement...
18178         * modules/fcntl-h: ...to new name, so as not to collide with
18179         like-named function.
18180         * tests/test-fcntl.c: Rename...
18181         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
18182         * modules/fcntl-tests: Rename...
18183         * modules/fcntl-h-tests: ...to this.  Update test file name.
18184         * modules/chdir-long (Depends-on): Update clients.
18185         * modules/chdir-safer (Depends-on): Likewise.
18186         * modules/fcntl-safer (Depends-on): Likewise.
18187         * modules/fts (Depends-on): Likewise.
18188         * modules/mkancesdirs (Depends-on): Likewise.
18189         * modules/mkdir-p (Depends-on): Likewise.
18190         * modules/open (Depends-on): Likewise.
18191         * modules/savewd (Depends-on): Likewise.
18192         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
18193         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
18194
18195 2009-08-22  Bruno Haible  <bruno@clisp.org>
18196
18197         * modules/binary-io (License): Relicense under LGPL.
18198         * modules/pipe2 (License): Likewise.
18199
18200 2009-08-22  Bruno Haible  <bruno@clisp.org>
18201
18202         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
18203         return value.
18204         * lib/pipe-filter-gi.c (filter_init): Likewise.
18205         Reported by Eric Blake.
18206
18207 2009-08-22  Bruno Haible  <bruno@clisp.org>
18208
18209         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
18210         * modules/pipe (Depends-on): Add pipe2.
18211
18212 2009-08-22  Bruno Haible  <bruno@clisp.org>
18213
18214         Tests for module 'pipe2'.
18215         * modules/pipe2-tests: New file.
18216         * tests/test-pipe2.c: New file.
18217
18218         New module 'pipe2'.
18219         * lib/unistd.in.h (pipe2): New declaration.
18220         * lib/pipe2.c: New file.
18221         * m4/pipe2.m4: New file.
18222         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
18223         HAVE_PIPE2.
18224         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
18225         * modules/pipe2: New file.
18226         * doc/glibc-functions/pipe2.texi: Mention the new module.
18227
18228 2009-08-22  Bruno Haible  <bruno@clisp.org>
18229
18230         Reference some new glibc functions.
18231         * doc/glibc-functions/accept4.texi: New file.
18232         * doc/glibc-functions/dup3.texi: New file.
18233         * doc/glibc-functions/mkostemp.texi: New file.
18234         * doc/glibc-functions/pipe2.texi: New file.
18235         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
18236         (Glibc sys/socket.h): Refer to accept4.
18237         (Glibc unistd.h): Refer to dup3, pipe2.
18238         Reported by Eric Blake.
18239
18240 2009-08-22  Jim Meyering  <meyering@redhat.com>
18241             Bruno Haible  <bruno@clisp.org>
18242
18243         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
18244         This makes it so packages using automake-1.11's silent-rules option
18245         can print e.g., a single "GEN    configmake.h" line, rather than
18246         the 30+ statements that perform the job.  If you want to see the
18247         actual commands, you can still run "make V=1".
18248         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
18249         so that make output is abbreviated when those variables are defined
18250         appropriately.
18251         * modules/argz: Likewise.
18252         * modules/arpa_inet: Likewise.
18253         * modules/byteswap: Likewise.
18254         * modules/configmake: Likewise.
18255         * modules/dirent: Likewise.
18256         * modules/errno: Likewise.
18257         * modules/fcntl: Likewise.
18258         * modules/float: Likewise.
18259         * modules/fnmatch: Likewise.
18260         * modules/getopt-posix: Likewise.
18261         * modules/glob: Likewise.
18262         * modules/iconv_open: Likewise.
18263         * modules/inttypes: Likewise.
18264         * modules/localcharset: Likewise.
18265         * modules/locale: Likewise.
18266         * modules/math: Likewise.
18267         * modules/netdb: Likewise.
18268         * modules/netinet_in: Likewise.
18269         * modules/poll: Likewise.
18270         * modules/posix_spawnp-tests: Likewise.
18271         * modules/sched: Likewise.
18272         * modules/search: Likewise.
18273         * modules/selinux-h: Likewise.
18274         * modules/signal: Likewise.
18275         * modules/spawn: Likewise.
18276         * modules/stdarg: Likewise.
18277         * modules/stdbool: Likewise.
18278         * modules/stddef: Likewise.
18279         * modules/stdint: Likewise.
18280         * modules/stdio: Likewise.
18281         * modules/stdlib: Likewise.
18282         * modules/string: Likewise.
18283         * modules/strings: Likewise.
18284         * modules/sys_file: Likewise.
18285         * modules/sys_ioctl: Likewise.
18286         * modules/sys_select: Likewise.
18287         * modules/sys_socket: Likewise.
18288         * modules/sys_stat: Likewise.
18289         * modules/sys_time: Likewise.
18290         * modules/sys_times: Likewise.
18291         * modules/sys_utsname: Likewise.
18292         * modules/sys_wait: Likewise.
18293         * modules/sysexits: Likewise.
18294         * modules/time: Likewise.
18295         * modules/unistd: Likewise.
18296         * modules/wchar: Likewise.
18297         * modules/wctype: Likewise.
18298
18299 2009-08-22  Jim Meyering  <meyering@redhat.com>
18300
18301         announce-gen: detect write failure
18302         * build-aux/announce-gen: Add Coda at end.
18303         Remove equivalent-but-more-verbose block at top.
18304
18305 2009-08-19  Akim Demaille  <demaille@gostai.com>
18306
18307         bootstrap: --help to stdout.
18308         * bootstrap (usage): Don't send --help to stderr.
18309         Use a here doc instead of a long string.
18310
18311 2009-08-21  Eric Blake  <ebb9@byu.net>
18312
18313         test-popen-safer: split from test-popen
18314         * tests/test-popen.c (main): Move...
18315         * tests/test-popen.h: ...into new file.
18316         * tests/test-popen-safer2.c: New file.
18317         * modules/popen-tests (Files): Add test-popen.h.
18318         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
18319         Suggested by Bruno Haible.
18320
18321         test-fcntl-safer: split from test-open
18322         * tests/test-open.c (main): Move...
18323         * tests/test-open.h: ...into new file.
18324         * tests/test-fcntl-safer.c: New file.
18325         * modules/open-tests (Files): Add test-open.h.
18326         * modules/fcntl-safer-tests: New file.
18327         Suggested by Bruno Haible.
18328
18329         test-fopen-safer: split from test-fopen
18330         * tests/test-fopen.c (main): Move...
18331         * tests/test-fopen.h: ...into new file.
18332         * tests/test-fopen-safer.c: New file.
18333         * modules/fopen-tests (Files): Add test-fopen.h.
18334         * modules/fopen-safer-tests: New file.
18335         Suggested by Bruno Haible.
18336
18337 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
18338
18339         popen-safer: test O_CLOEXEC at run-time.
18340         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
18341
18342 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
18343
18344         fcntl: move more flags to the header
18345         * lib/cloexec.c: Do not define FD_CLOEXEC here.
18346         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
18347         * lib/fcntl.in.h: Do both things here.
18348
18349 2009-08-21  Jim Meyering  <meyering@redhat.com>
18350
18351         consistently remove $@-t before redirecting to it
18352         * modules/argz: Remove $@-t and $@ before redirecting to the former.
18353         * modules/alloca-opt: Likewise.
18354         * modules/byteswap: Likewise.
18355         * modules/fnmatch: Likewise.
18356         * modules/getopt-posix: Likewise.
18357         * modules/glob: Likewise.
18358         * modules/poll: Likewise.
18359         * modules/posix_spawnp-tests: Likewise.
18360         * modules/sys_socket: Likewise.
18361         * modules/sysexits: Likewise.
18362
18363 2009-08-21  Eric Blake  <ebb9@byu.net>
18364
18365         popen: simplify access to original popen
18366         * lib/popen.c (rpl_popen): No need to worry about popen being a
18367         macro.
18368         Reported by Bruno Haible.
18369
18370 2009-08-20  Eric Blake  <ebb9@byu.net>
18371
18372         build: avoid some compiler warnings
18373         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
18374         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
18375         type.
18376         (new_exclude_segment, excluded_file_pattern_p)
18377         (excluded_file_name_p): Reduce scope.
18378         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
18379         old-style declaration.
18380
18381 2009-08-20  Simon Josefsson  <simon@josefsson.org>
18382
18383         * tests/test-exclude1.sh: Handle Windows EOL.
18384         * tests/test-exclude2.sh: Likewise.
18385         * tests/test-exclude3.sh: Likewise.
18386         * tests/test-exclude4.sh: Likewise.
18387         * tests/test-exclude5.sh: Likewise.
18388         * tests/test-exclude6.sh: Likewise.
18389         * tests/test-exclude7.sh: Likewise.
18390
18391 2009-08-19  Akim Demaille  <demaille@gostai.com>
18392
18393         bootstrap: find sha1sum when named gsha1sum.
18394         * bootstrap (find_tool): New.
18395         ($SHA1SUM): New.
18396         Use it.
18397
18398 2009-08-20  Jim Meyering  <meyering@redhat.com>
18399
18400         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
18401         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
18402         expression that converts "." in a file name to "\." in the resulting
18403         regexp.  Start with a dummy statement, so that prior shell variable
18404         definitions are expanded portably.  Reported by Simon Josefsson.
18405
18406 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
18407
18408         Fix polling for writeability of a screen buffer.
18409         * lib/poll.c: Distinguish input and screen buffers for the
18410         Win32 implementation.
18411         * lib/select.c: Likewise.
18412
18413 2009-08-19  Eric Blake  <ebb9@byu.net>
18414
18415         popen-safer: prevent popen from clobbering std descriptors
18416         * modules/popen-safer: New file.
18417         * lib/popen-safer.c: Likewise.
18418         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
18419         * lib/stdio--.h (popen): Provide override.
18420         * lib/stdio-safer.h (popen_safer): Provide declaration.
18421         * tests/test-popen.c (includes): Partially test this.
18422         * modules/popen-safer-tests: New file, for more tests.
18423         * tests/test-popen-safer.c: Likewise.
18424         * MODULES.html.sh (file stream based Input/Output): Mention it.
18425
18426         tests: test some of the *-safer modules
18427         * modules/fopen-safer (Depends-on): Add fopen.
18428         * modules/fcntl-safer (Depends-on): Add fcntl.
18429         * modules/stdlib-safer (Depends-on): Add stdlib.
18430         (configure.ac): Set indicator.
18431         * modules/unistd-safer (configure.ac): Likewise.
18432         * modules/tmpfile-safer (configure.ac): Likewise.
18433         (Depends-on): Add tmpfile.
18434         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
18435         active.
18436         * tests/test-fopen.c (includes): Test safer versions when they are
18437         in use.
18438         * tests/test-open.c (includes): Likewise.
18439
18440         popen: fix cygwin 1.5 bug when stdin closed
18441         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
18442         * modules/popen: New file.
18443         * modules/popen-tests: Likewise.
18444         * tests/test-popen.c: Likewise.
18445         * m4/popen.m4: Likewise.
18446         * lib/popen.c: Likewise.
18447         * lib/stdio.in.h (popen): New declaration.
18448         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
18449         * modules/stdio (Makefile.am): Likewise.
18450         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
18451
18452 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
18453
18454         maint.mk: give full control over update-copyright exclusions
18455         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
18456         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
18457         (update-copyright): Don't force inclusion of top-level
18458         ChangeLog.  Don't force exclusion of all COPYING files, but make
18459         them the default exclusion instead.
18460
18461 2009-08-16  Bruno Haible  <bruno@clisp.org>
18462
18463         Fix test failures on Solaris 10.
18464         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
18465         tests when Solaris iconv() is used.
18466         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
18467         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
18468         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
18469         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
18470         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
18471
18472 2009-08-16  Bruno Haible  <bruno@clisp.org>
18473
18474         Fix test failures on Solaris 10.
18475         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
18476         'tr' program and pass it as first argument.
18477         * tests/test-pipe-filter-gi1.sh: Likewise.
18478         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
18479         program as first argument.
18480         * tests/test-pipe-filter-gi1.c (main): Likewise.
18481
18482 2009-08-16  Eric Blake  <ebb9@byu.net>
18483
18484         fpurge: fix previous commits
18485         * modules/fpurge (Makefile.am): Make replacement conditional,
18486         partially reverting 2007-04-29 change; missed in previous
18487         attempt.
18488         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
18489         is missing.
18490
18491 2009-08-16  Bruno Haible  <bruno@clisp.org>
18492
18493         Clarify fpurge's effect on the file position.
18494         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
18495         * tests/test-fpurge.c (main): Make a second pass for checking the file
18496         position.
18497
18498 2009-08-16  Bruno Haible  <bruno@clisp.org>
18499
18500         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
18501         declaration of fpurge is missing.
18502         * tests/test-fpurge.c (main): Check that the file has not more contents
18503         than expected. Close the file before removing it.
18504
18505 2009-08-15  Eric Blake  <ebb9@byu.net>
18506
18507         fpurge: don't wrap working cygwin implementation
18508         * lib/fpurge.c (fpurge): Fix comment typo.
18509         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
18510         1.7 to avoid replacement.
18511         * tests/test-fpurge.c (main): Enhance test.
18512
18513 2009-08-15  Eric Blake  <ebb9@byu.net>
18514         and Jim Meyering  <meyering@redhat.com>
18515
18516         test-update-copyright: skip if perl is insufficient
18517         * tests/test-update-copyright.sh: Failure to run maintainer tool
18518         should not cause testsuite failure on cygwin 1.5.
18519
18520 2009-08-14  Eric Blake  <ebb9@byu.net>
18521
18522         doc: mention more functions added in cygwin 1.7.0
18523         * doc/posix-headers/limits.texi (limits.h): Update for recent
18524         cygwin additions.
18525         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
18526         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
18527         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
18528         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
18529         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
18530
18531 2009-08-14  Eric Blake  <ebb9@byu.net>
18532
18533         maint.mk: simplify update-copyright rule
18534         * top/maint.mk (update-copyright-local): Delete, and document how
18535         to do it in cfg.mk instead.
18536         (update-copyright-exclude-regexp): Delete, and document how to do
18537         it in .x-update-copyright instead.
18538         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
18539         exclude ChangeLog.
18540
18541 2009-08-14  Bruno Haible  <bruno@clisp.org>
18542
18543         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
18544
18545 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
18546
18547         maint.mk: support update-copyright-env
18548         * top/maint.mk (update-copyright-env): Define place-holder.
18549         (update-copyright): Expand $(update-copyright-env) before
18550         invoking update-copyright.
18551
18552 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
18553
18554         update-copyright: implement forced reformatting
18555         * build-aux/update-copyright: Implement and document
18556         UPDATE_COPYRIGHT_FORCE.
18557         * tests/test-update-copyright.sh: Test it.
18558
18559 2009-08-14  Eric Blake  <ebb9@byu.net>
18560         and Bruno Haible  <bruno@clisp.org>
18561
18562         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
18563         * tests/test-locale.c: Revert previous patch related to NULL.
18564         * tests/test-stdio.c: Likewise.
18565         * tests/test-stdlib.c: Likewise.
18566         * tests/test-string.c: Likewise.
18567         * tests/test-unistd.c: Likewise.
18568         * modules/time-tests (Depends-on): Add verify.
18569         * modules/wchar-tests (Depends-on): Likewise.
18570         * tests/test-time.c: Test for NULL compliance.
18571         * tests/test-wchar.c: Likewise.
18572         * modules/locale (Depends-on): Add stddef.
18573         * modules/stdio (Depends-on): Likewise.
18574         * modules/stdlib (Depends-on): Likewise.
18575         * modules/string (Depends-on): Likewise.
18576         * modules/time (Depends-on): Likewise.
18577         * modules/unistd (Depends-on): Likewise.
18578         * modules/wchar (Depends-on): Likewise.
18579         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
18580         * lib/stdlib.in.h (includes): Likewise.
18581         * lib/string.in.h (includes): Likewise.
18582         * lib/time.in.h (includes): Likewise.
18583         * lib/unistd.in.h (includes): Likewise.
18584         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
18585         replaced.
18586         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
18587         * m4/stddef_h.m4: New file.
18588         * modules/stddef: Likewise.
18589         * lib/stddef.in.h: Likewise.
18590         * modules/stddef-tests: Likewise.
18591         * tests/test-stddef.c: Likewise.
18592         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
18593         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
18594         * doc/posix-headers/locale.texi (locale.h): Likewise.
18595         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
18596         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
18597         * doc/posix-headers/string.texi (string.h): Likewise.
18598         * doc/posix-headers/time.texi (time.h): Likewise.
18599         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
18600         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
18601
18602 2009-08-14  Eric Blake  <ebb9@byu.net>
18603
18604         doc: improve git diff of texinfo files
18605         * .gitattributes: Add rule for *.texi files, with hint on how to
18606         use it.
18607         Copied from m4, and based on a report by Bruno Haible.
18608
18609 2009-08-14  Bruno Haible  <bruno@clisp.org>
18610
18611         Disable multithread support by default on Cygwin 1.5.x for real.
18612         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
18613
18614 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
18615
18616         update-copyright: much ado about intervals
18617         * build-aux/update-copyright: Implement and document
18618         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
18619         of copyright year intervals.
18620         Also, document UPDATE_COPYRIGHT_YEAR.
18621         * tests/test-update-copyright.sh: Test it.
18622
18623         update-copyright: convert 2-digit to 4-digit years
18624         * build-aux/update-copyright: Implement and document.
18625         * tests/test-update-copyright.sh: Update.
18626
18627 2009-08-14  Jim Meyering  <meyering@redhat.com>
18628
18629         test-exclude: avoid coreutils "make check" failure
18630         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
18631         just as in test-argmatch.c.
18632
18633 2009-08-13  Eric Blake  <ebb9@byu.net>
18634
18635         test-dup2: fix bad assumption
18636         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
18637         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
18638
18639         test-version-etc: fix CRLF portability issue
18640         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
18641         recognize \r.
18642         * tests/test-argp-version-etc-1.sh: Likewise.
18643
18644         getopt: update client modules
18645         * modules/argp (Depends-on): Use getopt-gnu.
18646         * modules/git-merge-changelog (Depends-on): Likewise.
18647         * modules/long-options (Depends-on): Likewise.
18648         * modules/xstrtol (Depends-on): Likewise.
18649
18650 2009-08-13  Simon Josefsson  <simon@josefsson.org>
18651
18652         * tests/test-version-etc.sh: Don't fail on different
18653         project/version.  Don't fail on CRLF differences.  Rewrite to use
18654         multiple -e instead of multiple sed forks, suggested by Eric Blake
18655         <ebb9@byu.net>.
18656         * tests/test-argp-version-etc-1.sh: Likewise.
18657
18658 2009-08-13  Simon Josefsson  <simon@josefsson.org>
18659
18660         * tests/test-version-etc.sh: Don't fail on different
18661         project/version.
18662
18663 2009-08-12  Bruno Haible  <bruno@clisp.org>
18664
18665         Tests for modules 'getopt-posix', 'getopt-gnu'.
18666         * modules/getopt-posix-tests: New file.
18667         * tests/test-getopt.c: New file.
18668         * tests/test-getopt.h: New file.
18669         * tests/test-getopt_long.h: New file.
18670
18671         New modules 'getopt-posix', 'getopt-gnu'.
18672         * modules/getopt-gnu: New file, renamed from modules/getopt.
18673         * modules/getopt-posix: New file.
18674         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
18675         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
18676         (gl_GETOPT): Remove macro.
18677         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
18678         Disable the test against BSD systems that declare optreset. Test
18679         against mingw bug. Test against lack of support of optional arguments
18680         on many platforms.
18681         * doc/glibc-headers/getopt.texi: Update module name and list of
18682         relevant platforms.
18683         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
18684         'getopt-gnu' and more portability problems.
18685         * NEWS: Mention the changes.
18686
18687 2009-08-12  Bruno Haible  <bruno@clisp.org>
18688
18689         Ensure that optarg etc. get declared by <unistd.h>.
18690         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
18691         AC_USE_SYSTEM_EXTENSIONS.
18692         * modules/getopt (Depends-on): Add 'extensions'.
18693
18694 2009-08-12  Bruno Haible  <bruno@clisp.org>
18695
18696         Avoid test link errors.
18697         * modules/pipe-filter-ii-tests (Makefile.am): Define
18698         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
18699         * modules/pipe-filter-gi-tests (Makefile.am): Define
18700         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
18701         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
18702
18703 2009-08-12  Bruno Haible  <bruno@clisp.org>
18704
18705         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
18706         gl_GETOPT_SUBSTITUTE before.
18707         (gl_GETOPT): Use it.
18708         * m4/argp.m4 (gl_ARGP): Update.
18709         Reported by Sergey Poznyakoff.
18710
18711         * m4/getopt.m4: Reorder macros.
18712         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
18713         (gl_GETOPT_SUBSTITUTE): Remove macro.
18714
18715 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
18716
18717         Minor improvement in gitlog-to-changelog
18718
18719         * build-aux/gitlog-to-changelog: New option `--format' makes
18720         output format string configurable.
18721
18722 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
18723
18724         Optimize exclude: use hash tables for non-wildcard patterns.
18725
18726         * lib/exclude.c: Include hash.h and mbuiter.h
18727         (struct exclude_pattern, exclude_segment): New data types.
18728         (struct exclude): Rewrite.
18729         (fnmatch_pattern_has_wildcards): New function.
18730         (new_exclude_segment, free_exclude_segment): New functions.
18731         (excluded_file_pattern_p, excluded_file_name_p): New functions.
18732         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
18733         * lib/exclude.h (is_fnmatch_pattern): New prototype.
18734         * modules/exclude: Depend on hash and mbuiter.
18735
18736         * modules/exclude-tests: New file.
18737         * tests/test-exclude.c: New file.
18738         * tests/test-exclude1.sh: New file.
18739         * tests/test-exclude2.sh: New file.
18740         * tests/test-exclude3.sh: New file.
18741         * tests/test-exclude4.sh: New file.
18742         * tests/test-exclude5.sh: New file.
18743         * tests/test-exclude6.sh: New file.
18744         * tests/test-exclude7.sh: New file.
18745
18746 2009-08-12  Bruno Haible  <bruno@clisp.org>
18747
18748         Ensure that getopt() gets declared by <unistd.h>.
18749         * lib/unistd.in.h: Conditionally include getopt.h.
18750         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
18751         Set GNULIB_UNISTD_H_GETOPT.
18752         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
18753         GNULIB_UNISTD_H_GETOPT.
18754         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
18755
18756 2009-08-12  Bruno Haible  <bruno@clisp.org>
18757
18758         Clarify logic.
18759         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
18760         gl_replace_getopt instead of GETOPT_H.
18761
18762 2009-08-12  Bruno Haible  <bruno@clisp.org>
18763
18764         * m4/getopt.m4: Add comments.
18765
18766 2009-08-12  Bruno Haible  <bruno@clisp.org>
18767
18768         Disable multithread support by default on Cygwin 1.5.x.
18769         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
18770         set gl_use_threads=no if not specified otherwise.
18771
18772 2009-08-11  Bruno Haible  <bruno@clisp.org>
18773
18774         Avoid compilation error on NetBSD 5.0.
18775         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
18776         * tests/test-stdio.c: Likewise.
18777         * tests/test-stdlib.c: Likewise.
18778         * tests/test-string.c: Likewise.
18779         * tests/test-unistd.c: Likewise.
18780         Reported by Greg Troxel <gdt@ir.bbn.com>
18781         at <https://savannah.gnu.org/support/?106973>.
18782
18783 2009-08-11  Bruno Haible  <bruno@clisp.org>
18784
18785         * modules/dup2-tests (Depends-on): Remove close.
18786
18787         Undo 2009-07-19 commit.
18788         * modules/acl-tests (Depends-on): Remove close.
18789         * modules/binary-io-tests (Depends-on): Likewise.
18790         * modules/closein-tests (Depends-on): Likewise.
18791         * modules/flock-tests (Depends-on): Likewise.
18792         * modules/fsync-tests (Depends-on): Likewise.
18793         * modules/lseek-tests (Depends-on): Likewise.
18794         * modules/pipe-tests (Depends-on): Likewise.
18795         * modules/posix_spawn-tests (Depends-on): Likewise.
18796         * modules/posix_spawnp-tests (Depends-on): Likewise.
18797         * modules/stat-time-tests (Depends-on): Likewise.
18798         * modules/yesno-tests (Depends-on): Likewise.
18799
18800 2009-08-10  Bruno Haible  <bruno@clisp.org>
18801
18802         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
18803
18804 2009-08-10  Bruno Haible  <bruno@clisp.org>
18805
18806         Fix a gcc warning.
18807         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
18808
18809 2009-08-10  Bruno Haible  <bruno@clisp.org>
18810
18811         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
18812         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
18813         not only the first time.
18814         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
18815         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
18816         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
18817         is 1, not only the the first time.
18818
18819 2009-08-10  Bruno Haible  <bruno@clisp.org>
18820
18821         Make it possible to use module 'gethostname' without module 'close'.
18822         * lib/unistd.in.h (close): Evoke a link error only if
18823         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
18824         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
18825         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
18826         * modules/unistd (Makefile.am): Substitute
18827         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
18828         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
18829         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
18830         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
18831         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
18832         * modules/sys_ioctl (Makefile.am): Substitute
18833         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
18834         * modules/socket (configure.ac): On native Windows, set
18835         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
18836         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
18837         Reported by Sam Steingold <sds@gnu.org>.
18838
18839 2009-08-10  Bruno Haible  <bruno@clisp.org>
18840
18841         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
18842         * modules/ioctl (configure.ac): Likewise.
18843
18844 2009-08-10  Bruno Haible  <bruno@clisp.org>
18845
18846         Avoid collision between gnulib wrapper and libintl wrapper.
18847         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
18848         already defined in intl/printf.c.
18849         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
18850         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
18851
18852 2009-08-09  Bruno Haible  <bruno@clisp.org>
18853
18854         Make <sys/select.h> really self-contained, also on Solaris 10.
18855         * lib/sys_select.in.h: Include <string.h>.
18856         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
18857         Solaris 10 problem.
18858         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
18859         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
18860         Reported by Jim Meyering.
18861
18862 2009-08-09  Bruno Haible  <bruno@clisp.org>
18863
18864         Avoid warnings from 'aclocal' that are due to a use of macro name
18865         AM_XGETTEXT_OPTION that is not defined in automake.
18866         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
18867         automake.
18868         * modules/error (configure.ac): Likewise.
18869         * modules/propername (configure.ac): Likewise.
18870         * modules/vasprintf (configure.ac): Likewise.
18871         * modules/verror (configure.ac): Likewise.
18872         * modules/xprintf (configure.ac): Likewise.
18873         * modules/xvasprintf (configure.ac): Likewise.
18874
18875 2009-08-08  Bruno Haible  <bruno@clisp.org>
18876
18877         Avoid compilation error in C++ mode.
18878         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
18879         Reported by Sam Steingold <sds@gnu.org>.
18880
18881 2009-08-08  Bruno Haible  <bruno@clisp.org>
18882
18883         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
18884         for the various Unix platforms.
18885         * doc/posix-headers/limits.texi: Update platforms list regarding
18886         HOST_NAME_MAX.
18887         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
18888
18889 2009-08-07  Jim Meyering  <meyering@redhat.com>
18890
18891         selinux-at: fix typo in a comment
18892         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
18893         Spotted by Paolo Bonzini.
18894
18895         selinux-at: remove redundant m4 code, add documentation
18896         * modules/selinux-at (configure.ac): Remove redundant code.
18897         LIB_SELINUX is already set via the dependent module, selinux-h.
18898         (Include): Add quotes around selinux-at.h.
18899         * lib/selinux-at.h: Add documentation.
18900         Reported by Bruno Haible in
18901         http://marc.info/?l=gnulib-bug&m=124958988300749
18902
18903 2009-08-07  Bruno Haible  <bruno@clisp.org>
18904
18905         Avoid link error on MacOS X 10.3 and 10.4.
18906         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
18907         on non-ELF systems.
18908         * lib/argp-pv.c (argp_program_version): Likewise.
18909         Reported by Simon Josefsson.
18910
18911 2009-08-07  Simon Josefsson  <simon@josefsson.org>
18912
18913         * tests/test-version-etc.sh: Use $EXEEXT.
18914
18915 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
18916
18917         update-copyright: update documentation to point to maint.mk
18918         * build-aux/update-copyright: Here.
18919
18920 2009-08-06  Jim Meyering  <meyering@redhat.com>
18921
18922         maint.mk: support update-copyright-local
18923         * top/maint.mk (update-copyright-local): Define place-holder.
18924         (update-copyright): Depend on $(update-copyright-local).
18925
18926 2009-08-06  Jim Meyering  <meyering@redhat.com>
18927
18928         selinux-at: new module
18929         Initially written for coreutils, this module will soon be
18930         used by findutils, too.
18931         * MODULES.html.sh [Misc]: Add selinux-at.
18932         * lib/selinux-at.h: New file, from coreutils.
18933         * lib/selinux-at.c: Likewise.
18934         * modules/selinux-at: Likewise.
18935         (License): Change from LGPL to GPL, since it depends
18936         on the GPL'd openat module.
18937
18938         doc: update README
18939         * README: Remove references to cogito.
18940         Remove cvs-repo-updating instructions from 2007.
18941         Don't imply that CVS is better if you have limited disk space.
18942
18943 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
18944
18945         update-copyright: support C-style comments
18946         * build-aux/update-copyright: Implement and document.
18947         * tests/test-update-copyright.sh: Test.
18948
18949 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
18950
18951         update-copyright: support omitted "(C)"
18952         * build-aux/update-copyright: Implement and document.  Also,
18953         allow variable whitespace before "(C)".
18954         * tests/test-update-copyright.sh: Test.
18955
18956 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
18957
18958         update-copyright: don't trip on non-FSF copyright statements
18959         * build-aux/update-copyright: Fix so that the first correctly
18960         formatted FSF copyright statement is recognized no matter what
18961         appears before it.  Update documentation.
18962         * tests/test-update-copyright.sh: Test that.
18963
18964 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
18965
18966         update-copyright: clean up code a little
18967         * build-aux/update-copyright: Append "_re" to the name of any
18968         variable holding a regular expression.
18969         Replace "old" and "new" with "stmt" in variable names.
18970         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
18971         handled correctly.
18972         Format code more consistently.
18973
18974 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
18975
18976         update-copyright-tests: improve portability
18977         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
18978         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
18979
18980 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
18981
18982         update-copyright: support @copyright{} and &copy;
18983         * build-aux/update-copyright: Implement and document.
18984         * tests/test-update-copyright.sh: Test.
18985
18986 2009-08-04  Jim Meyering  <meyering@redhat.com>
18987
18988         update-copyright-tests: correctly test EOL=\r\n handling
18989         * tests/test-update-copyright.sh: Put \r at the end of some lines
18990         for the dos-eol tests.  Based on a patch by Joel E. Denny.
18991
18992         maint.mk: make update-copyright exclusion list more configurable
18993         * top/maint.mk (update-copyright): Default to excluding COPYING,
18994         but allow an override, in case someone does want to update that file.
18995
18996         maint.mk: don't update copyright date in COPYING
18997         * top/maint.mk (update-copyright): Exclude COPYING.
18998
18999         maint.mk: add a copyright-updating rule
19000         * top/maint.mk (update-copyright): New rule.
19001         Derived from coreutils/Makefile.am.
19002
19003         update-copyright: rename some variables
19004         * build-aux/update-copyright: Rename a few variables for clarity.
19005         Tweak syntax.  List Joel E. Denny as coauthor.
19006
19007 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
19008
19009         update-copyright: fix bug for 2-digit last year and add tests
19010         * build-aux/update-copyright: Fix bug.
19011         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
19012         specified.
19013         * modules/update-copyright-tests: New
19014         * tests/test-update-copyright.sh: New.
19015
19016 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
19017
19018         update-copyright: handle leading tabs in line prefix
19019         * build-aux/update-copyright: Count leading tabs as 8 spaces
19020         when computing margin.  This helps with the formatting of
19021         ChangeLogs, for example.
19022         Fix documentation a little.
19023
19024 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
19025
19026         update-copyright: support EOL=\r\n
19027         * build-aux/update-copyright: Implement that.
19028
19029 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
19030
19031         update-copyright: automatically format copyright statements
19032         * build-aux/update-copyright: Implement that.
19033         Also, be a little more predictable and safer by always failing
19034         when the full copyright format is not perfectly recognized as an
19035         unbroken whole.  Discussed at
19036         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
19037         Rewrite documentation.
19038
19039 2009-08-03  Bruno Haible  <bruno@clisp.org>
19040
19041         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
19042
19043 2009-08-02  Bruno Haible  <bruno@clisp.org>
19044
19045         Tests for module 'uname'.
19046         * modules/uname-tests: New file.
19047         * tests/test-uname.c: New file.
19048
19049         New module 'uname'.
19050         * lib/uname.c: New file.
19051         * m4/uname.m4: New file.
19052         * modules/uname: New file.
19053         * doc/posix-functions/uname.texi: Mention the new module.
19054
19055 2009-08-02  Bruno Haible  <bruno@clisp.org>
19056
19057         Tests for module 'sys_utsname'.
19058         * modules/sys_utsname-tests: New file.
19059         * tests/test-sys_utsname.c: New file.
19060
19061         New module 'sys_utsname'.
19062         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
19063         * m4/sys_utsname_h.m4: New file.
19064         * modules/sys_utsname: New file.
19065         * doc/posix-headers/sys_utsname.texi: Mention the new module.
19066
19067 2009-08-02  Bruno Haible  <bruno@clisp.org>
19068
19069         Implicitly initialize the sockets library.
19070         * lib/gethostname.c: Include sockets.h.
19071         (rpl_gethostname): Invoke gl_sockets_startup.
19072         * lib/socket.c: Include sockets.h.
19073         (rpl_socket): Invoke gl_sockets_startup.
19074         * modules/gethostname (Depends-on): Add sockets.
19075         * modules/socket (Depends-on): Likewise.
19076         * tests/test-poll.c: Don't include sockets.h.
19077         (main): Don't invoke gl_sockets_startup.
19078         * tests/test-select.c: Don't include sockets.h.
19079         (main): Don't invoke gl_sockets_startup.
19080
19081 2009-08-02  Bruno Haible  <bruno@clisp.org>
19082
19083         Allow multiple calls to gl_sockets_startup.
19084         * lib/sockets.c (initialized_sockets_version): New variable.
19085         (gl_sockets_startup): Do nothing if already called for this or a higher
19086         version.
19087         (gl_sockets_cleanup): Reset initialized_sockets_version.
19088
19089 2009-08-03  Simon Josefsson  <simon@josefsson.org>
19090
19091         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
19092         different project/version.
19093
19094 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
19095             Bruno Haible  <bruno@clisp.org>
19096
19097         Tests for module 'pipe-filter-gi'.
19098         * modules/pipe-filter-gi-tests: New file.
19099         * tests/test-pipe-filter-gi1.sh: New file.
19100         * tests/test-pipe-filter-gi1.c: New file.
19101         * tests/test-pipe-filter-gi2.sh: New file.
19102         * tests/test-pipe-filter-gi2-main.c: New file.
19103         * tests/test-pipe-filter-gi2-child.c: New file.
19104
19105         New module 'pipe-filter-gi'.
19106         * lib/pipe-filter-gi.c: New file.
19107         * modules/pipe-filter-gi: New file.
19108
19109 2009-08-02  Bruno Haible  <bruno@clisp.org>
19110             Paolo Bonzini  <bonzini@gnu.org>
19111
19112         Tests for module 'pipe-filter-ii'.
19113         * modules/pipe-filter-ii-tests: New file.
19114         * tests/test-pipe-filter-ii1.sh: New file.
19115         * tests/test-pipe-filter-ii1.c: New file.
19116         * tests/test-pipe-filter-ii2.sh: New file.
19117         * tests/test-pipe-filter-ii2-main.c: New file.
19118         * tests/test-pipe-filter-ii2-child.c: New file.
19119
19120         New module 'pipe-filter-ii'.
19121         * lib/pipe-filter.h: New file.
19122         * lib/pipe-filter-ii.c: New file.
19123         * lib/pipe-filter-aux.h: New file.
19124         * modules/pipe-filter-ii: New file.
19125
19126 2009-08-02  Simon Josefsson  <simon@josefsson.org>
19127
19128         * lib/gc-libgcrypt.c: Change copyright to FSF.
19129         * lib/gc-gnulib.c: Likewise.
19130
19131 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
19132
19133         * lib/gethostname.c: Include limits.h.
19134
19135 2009-08-02  Simon Josefsson  <simon@josefsson.org>
19136             Bruno Haible  <bruno@clisp.org>
19137
19138         Ensure HOST_NAME_MAX as part of the gethostname module.
19139         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
19140         define also HOST_NAME_MAX.
19141         * tests/test-gethostname.c: Include <limits.h>.
19142         (main): Check also HOST_NAME_MAX.
19143         * doc/posix-headers/limits.texi: Document the mingw problem.
19144
19145 2009-08-02  Bruno Haible  <bruno@clisp.org>
19146
19147         * lib/gethostname.c (gethostname): Fix handling of large len argument.
19148         Add comments.
19149
19150 2009-03-31  Simon Josefsson  <simon@josefsson.org>
19151
19152         * lib/gethostname.c: Add Windows wrapper.
19153         * m4/gethostname.m4: Look for gethostname in -lws2_32.
19154         * modules/gethostname: Depend on sys_socket & errno, for also
19155         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
19156         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
19157
19158 2009-07-31  Jim Meyering  <meyering@redhat.com>
19159
19160         getloadavg: fix symbol name in comment
19161         * lib/getloadavg.c: Correct a typo I introduced when adding
19162         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
19163         Matt Kraai spotted the problem.
19164
19165 2009-07-29  Matt Kraai  <mkraai@beckman.com>
19166
19167         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
19168         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
19169         code also if ! defined N_NAME_POINTER.
19170         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
19171         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
19172         but the n_name member is a 12-byte array.
19173
19174 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
19175
19176         update-copyright: generalize comment handling
19177         * build-aux/update-copyright: Handle copyright statements
19178         within more comment styles.
19179         Document usage.
19180         Report any file with an external copyright holder or parse failure.
19181
19182 2009-07-29  Jim Meyering  <meyering@redhat.com>
19183
19184         mktime: correct setting of REPLACE_MKTIME
19185         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
19186
19187         update-copyright: new module
19188         * modules/update-copyright: New file.
19189         * build-aux/update-copyright: New file.
19190         * MODULES.html.sh (maint+release support): Add update-copyright.
19191
19192 2009-07-27  Bruno Haible  <bruno@clisp.org>
19193
19194         Fix compilation error when <ctime> is used and mktime is replaced.
19195         * lib/time.in.h (mktime): New declaration.
19196         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
19197         REPLACE_MKTIME instead of defining mktime in config.h.
19198         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
19199         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
19200         Reported by Ross McFarland <rwmcfa1@neces.com>.
19201
19202 2009-07-27  Bruno Haible  <bruno@clisp.org>
19203
19204         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
19205         Reported by Matt Kraai <mkraai@beckman.com>.
19206
19207 2009-07-25  Jim Meyering  <meyering@redhat.com>
19208
19209         maint.mk: avoid warnings about missing files
19210         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
19211         diagnostic when .prev-version does not exist.
19212         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
19213         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
19214         nonexistent cfg.mk.
19215         Suggestions from Simon Josefsson.
19216
19217 2009-07-25  Bruno Haible  <bruno@clisp.org>
19218
19219         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
19220         defined as macros. Needed on QNX 6.4.1.
19221         Reported by Matt Kraai <mkraai@beckman.com>.
19222
19223 2009-07-23  Jim Meyering  <meyering@redhat.com>
19224
19225         maint.mk: invoke "make dist" with a working value of XZ_OPT
19226         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
19227
19228 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
19229
19230         Make fseeko.c compile on QNX.
19231         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
19232
19233 2009-07-22  Peter Simons  <simons@cryp.to>
19234
19235         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
19236         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
19237         * lib/md4.h: Likewise.
19238         * lib/md5.h: Likewise.
19239         * lib/sha1.h: Likewise.
19240         * lib/sha256.h: Likewise.
19241         * lib/sha512.h: Likewise.
19242
19243         tests-sha1: don't assign literal string to 'char *' variable
19244         * tests/test-sha1.c (main): Declare locals with "const" to match
19245         attributes of the right hand side.
19246
19247 2009-07-21  Eric Blake  <ebb9@byu.net>
19248
19249         dup2: fix more mingw problems
19250         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
19251         fd to itself.
19252         * doc/posix-functions/dup2.texi (dup2): Document the bug.
19253         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
19254         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
19255         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
19256         care of mingw bugs.
19257
19258 2009-07-21  Jim Meyering  <meyering@redhat.com>
19259
19260         vc-list-files: avoid failure when /bin/sh is dash
19261         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
19262         On some Debian based systems, /bin/sh is a symlink to dash, and running
19263         this command would omit the "/" following each 'tests' prefix:
19264           dash -x build-aux/vc-list-files -C . tests
19265         That is because bash and dash work differently:
19266           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
19267           bash ok
19268           dash odd
19269
19270 2009-07-21  Eric Blake  <ebb9@byu.net>
19271
19272         dup2-tests: test previous patch
19273         * modules/dup2-tests: New file.
19274         * tests/test-dup2.c: Likewise.
19275         * tests/test-open.c (main): Avoid unspecified behavior.
19276         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
19277         test.
19278
19279         dup2: work around mingw and cygwin 1.5 bug
19280         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
19281         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
19282         * modules/unistd (Makefile.am): Substitute it.
19283         * lib/unistd.in.h (dup2): Declare the replacement.
19284         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
19285         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
19286         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
19287         * modules/execute (Depends-on): Add dup2.
19288         * modules/fseterr (Depends-on): Likewise.
19289         * modules/pipe (Depends-on): Likewise.
19290         * modules/posix_spawn-internal (Depends-on): Likewise.
19291
19292 2009-07-21  Bruno Haible  <bruno@clisp.org>
19293
19294         * modules/.gitattributes: New file.
19295
19296 2009-07-20  Bruno Haible  <bruno@clisp.org>
19297
19298         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
19299         (main): Use it.
19300
19301 2009-07-20  Eric Blake  <ebb9@byu.net>
19302
19303         test-pipe: make a bit more robust.
19304         * tests/test-pipe.c (myerr): Allow error messages regardless of
19305         what we do to stderr.
19306         (test_pipe): Rearrange to avoid deadlock.
19307         (child_main): Try a larger read, to ensure we avoided deadlock.
19308         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
19309         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
19310         if misused.
19311
19312 2009-07-19  Jim Meyering  <meyering@redhat.com>
19313
19314         fts: avoid false-positive cycle-detection
19315         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
19316         for each new command line argument.
19317
19318 2009-07-19  Bruno Haible  <bruno@clisp.org>
19319
19320         Fix build error on mingw with the modules sys_select and unistd.
19321         * modules/acl-tests (Depends-on): Add close.
19322         * modules/binary-io-tests (Depends-on): Likewise.
19323         * modules/closein-tests (Depends-on): Likewise.
19324         * modules/flock-tests (Depends-on): Likewise.
19325         * modules/fsync-tests (Depends-on): Likewise.
19326         * modules/lseek-tests (Depends-on): Likewise.
19327         * modules/pipe-tests (Depends-on): Likewise.
19328         * modules/posix_spawn-tests (Depends-on): Likewise.
19329         * modules/posix_spawnp-tests (Depends-on): Likewise.
19330         * modules/stat-time-tests (Depends-on): Likewise.
19331         * modules/yesno-tests (Depends-on): Likewise.
19332
19333 2009-07-19  Bruno Haible  <bruno@clisp.org>
19334
19335         Unify conditionals.
19336         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
19337         macros, not at the compiler macros.
19338         * lib/pipe.c: Likewise.
19339         * lib/execute.c: Likewise.
19340         * lib/spawni.c: Likewise.
19341
19342 2009-07-19  Bruno Haible  <bruno@clisp.org>
19343
19344         Fix handling of closed stdin/stdout/stderr on mingw.
19345         * lib/w32spawn.h: Include unistd.h.
19346         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
19347         file descriptor with O_NOINHERIT flag.
19348         (fd_safer_noinherit): New function, based on fd-safer.c.
19349         (dup_safer_noinherit): New function, based on dup-safer.c.
19350         (undup_safer_noinherit): New function.
19351         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
19352         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
19353         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
19354         instead of fd_safer.
19355         * tests/test-pipe.c: Include <windows.h>.
19356         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close() result.
19357
19358         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
19359         from main.
19360         (test_pipe): Pass an extra argument for disambiguation.
19361         (main): Invoke parent_main or child_main.
19362
19363         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
19364         consistently.
19365
19366 2009-07-18  Eric Blake  <ebb9@byu.net>
19367
19368         test-pipe: fix mingw build
19369         * tests/test-pipe.c (main): Avoid fcntl on mingw.
19370
19371 2009-07-18  Bruno Haible  <bruno@clisp.org>
19372
19373         * modules/pipe-tests (Makefile.am): Fix typo.
19374
19375 2009-07-18  Eric Blake  <ebb9@byu.net>
19376
19377         error: fix mingw build
19378         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
19379         Reported by Bruno Haible.
19380
19381         error: avoid undefined use of stdout
19382         * lib/error.c (error, error_at_line): Check that fd 1 is open
19383         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
19384         is handling faults and the close_stdout module wants to report the
19385         detection of closed stdout as an error.
19386
19387 2009-07-17  Eric Blake  <ebb9@byu.net>
19388
19389         pipe: be robust in face of closed fds
19390         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
19391         should cause child to misbehave.
19392         * modules/pipe-tests: New module.
19393         * tests/test-pipe.c: New file.
19394         * tests/test-pipe.sh: New file.
19395         Reported by Akim Demaille.
19396
19397 2009-07-14  Bruno Haible  <bruno@clisp.org>
19398
19399         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
19400         Reported by anonymous kc.
19401
19402 2009-07-07  Jim Meyering  <meyering@redhat.com>
19403
19404         maint.mk: don't look for translatable strings in *.m4 or *.mk
19405         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
19406         when searching for translatable strings.
19407
19408 2009-07-05  Jim Meyering  <meyering@redhat.com>
19409
19410         remove superfluous parentheses in STREQ definition
19411         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
19412         * lib/getugroups.c (STREQ): Likewise.
19413         * lib/fnmatch.c (STREQ): Likewise.
19414         Spotted by Bruno Haible.
19415
19416 2009-07-04  Jim Meyering  <meyering@redhat.com>
19417
19418         argv-iter: new module
19419         * MODULES.html.sh: Add argv-iter.
19420         * lib/argv-iter.c, lib/argv-iter.h: New files.
19421         * modules/argv-iter: New file.
19422         * modules/argv-iter-tests: New file.
19423         * tests/test-argv-iter.c: Test it.
19424
19425 2009-07-04  Bruno Haible  <bruno@clisp.org>
19426
19427         Fix assertion.
19428         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
19429         contains more exact copies of a given entry than file2, leave the extra
19430         copies unpaired rather than aborting.
19431         Reported by Eric Blake.
19432
19433 2009-07-02  Bruno Haible  <bruno@clisp.org>
19434
19435         Speedup git-merge-changelog for git cherry-pick.
19436         * lib/git-merge-changelog.c (struct entries_mapping): New type.
19437         (entries_mapping_get): New function, extracted from compute_mapping.
19438         (entries_mapping_reverse_get): New function.
19439         (compute_mapping): Add a 'full' argument. Return the result in a
19440         'struct entries_mapping'.
19441         (main): Update. Access the mappings through entries_mapping_get.
19442         Reported by Eric Blake.
19443
19444 2009-07-02  Bruno Haible  <bruno@clisp.org>
19445
19446         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
19447         best_i.
19448
19449 2009-07-02  Bruno Haible  <bruno@clisp.org>
19450
19451         Speed up approximate search for matching ChangeLog entries.
19452         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
19453         argument. Call fstrcmp_bounded instead of fstrcmp.
19454         (compute_mapping, try_split_merged_entry, main): Update callers.
19455
19456 2009-07-02  Bruno Haible  <bruno@clisp.org>
19457
19458         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
19459
19460 2009-06-30  Bruno Haible  <bruno@clisp.org>
19461
19462         Reduce the number of uc_is_cased calls.
19463         * lib/unicase.h (casing_suffix_context_t): Add
19464         'first_char_except_ignorable' field.
19465         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
19466         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
19467         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
19468         Update initializer.
19469         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
19470         case-ignorable characters.
19471         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
19472         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
19473         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
19474         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
19475         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
19476
19477 2009-06-30  Bruno Haible  <bruno@clisp.org>
19478
19479         Tests for module 'unicase/ignorable'.
19480         * modules/unicase/ignorable-tests: New file.
19481         * tests/unicase/test-ignorable.c: New file, generated by
19482         gen-uni-tables.
19483
19484         Tests for module 'unicase/cased'.
19485         * modules/unicase/cased-tests: New file.
19486         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
19487         * tests/unicase/test-predicate-part1.h: New file, derived from
19488         tests/unictype/test-predicate-part1.h.
19489         * tests/unicase/test-predicate-part2.h: New file, same as
19490         tests/unictype/test-predicate-part2.h.
19491
19492         Fix evaluation of "Before C" condition of FINAL_SIGMA.
19493         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
19494         (output_casing_properties): New function.
19495         (main): Call it.
19496         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
19497         * lib/unicase/cased.c: Include unictype/bitmap.h.
19498         (uc_is_cased): Define through a bitmap lookup.
19499         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
19500         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
19501         (uc_is_case_ignorable): Define through a bitmap lookup.
19502         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
19503         lib/unictype/bitmap.h.
19504         (Depends-on): Add inline. Clean up.
19505         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
19506         lib/unictype/bitmap.h.
19507         (Depends-on): Add inline. Clean up.
19508         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
19509         recognition.
19510         * tests/unicase/test-u16-tolower.c (main): Likewise.
19511         * tests/unicase/test-u32-tolower.c (main): Likewise.
19512
19513 2009-06-30  Bruno Haible  <bruno@clisp.org>
19514
19515         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
19516         * lib/unicase/u16-casemap.c: Likewise.
19517         * lib/unicase/u32-casemap.c: Likewise.
19518
19519 2009-06-29  Bruno Haible  <bruno@clisp.org>
19520
19521         Define u32_casefold as a wrapper around u32_ct_casefold.
19522         * lib/unicase/u32-casefold.c: Update.
19523         * modules/unicase/u32-casefold (Depends-on): Add
19524         unicase/u32-ct-casefold, unicase/empty-prefix-context,
19525         unicase/empty-suffix-context. Clean up.
19526
19527         Define u16_casefold as a wrapper around u16_ct_casefold.
19528         * lib/unicase/u16-casefold.c: Update.
19529         * modules/unicase/u16-casefold (Depends-on): Add
19530         unicase/u16-ct-casefold, unicase/empty-prefix-context,
19531         unicase/empty-suffix-context. Clean up.
19532
19533         Define u8_casefold as a wrapper around u8_ct_casefold.
19534         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
19535         * lib/unicase/u8-casefold.c: Update.
19536         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
19537         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
19538
19539         Define u32_totitle as a wrapper around u32_ct_totitle.
19540         * lib/unicase/u32-totitle.c: Update.
19541         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
19542         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
19543
19544         Define u16_totitle as a wrapper around u16_ct_totitle.
19545         * lib/unicase/u16-totitle.c: Update.
19546         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
19547         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
19548
19549         Define u8_totitle as a wrapper around u8_ct_totitle.
19550         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
19551         functions.
19552         (FUNC): Delegate to U_CT_TOTITLE.
19553         * lib/unicase/u8-totitle.c: Update.
19554         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
19555         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
19556
19557         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
19558         invocation.
19559         * modules/unicase/u32-tolower (Depends-on): Add
19560         unicase/empty-prefix-context, unicase/empty-suffix-context.
19561
19562         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
19563         invocation.
19564         * modules/unicase/u16-tolower (Depends-on): Add
19565         unicase/empty-prefix-context, unicase/empty-suffix-context.
19566
19567         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
19568         * modules/unicase/u8-tolower (Depends-on): Add
19569         unicase/empty-prefix-context, unicase/empty-suffix-context.
19570
19571         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
19572         invocation.
19573         * modules/unicase/u32-toupper (Depends-on): Add
19574         unicase/empty-prefix-context, unicase/empty-suffix-context.
19575
19576         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
19577         invocation.
19578         * modules/unicase/u16-toupper (Depends-on): Add
19579         unicase/empty-prefix-context, unicase/empty-suffix-context.
19580
19581         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
19582         * modules/unicase/u8-toupper (Depends-on): Add
19583         unicase/empty-prefix-context, unicase/empty-suffix-context.
19584
19585         New module 'unicase/u32-ct-casefold'.
19586         * lib/unicase/u32-ct-casefold.c: New file.
19587         * modules/unicase/u32-ct-casefold: New file.
19588
19589         New module 'unicase/u16-ct-casefold'.
19590         * lib/unicase/u16-ct-casefold.c: New file.
19591         * modules/unicase/u16-ct-casefold: New file.
19592
19593         New module 'unicase/u8-ct-casefold'.
19594         * lib/unicase/u8-ct-casefold.c: New file.
19595         * lib/unicase/u-ct-casefold.h: New file, derived from
19596         lib/unicase/u-casefold.h.
19597         * modules/unicase/u8-ct-casefold: New file.
19598
19599         New module 'unicase/u32-ct-totitle'.
19600         * lib/unicase/u32-ct-totitle.c: New file.
19601         * modules/unicase/u32-ct-totitle: New file.
19602
19603         New module 'unicase/u16-ct-totitle'.
19604         * lib/unicase/u16-ct-totitle.c: New file.
19605         * modules/unicase/u16-ct-totitle: New file.
19606
19607         New module 'unicase/u8-ct-totitle'.
19608         * lib/unicase/u8-ct-totitle.c: New file.
19609         * lib/unicase/u-ct-totitle.h: New file, derived from
19610         lib/unicase/u-totitle.h.
19611         * modules/unicase/u8-ct-totitle: New file.
19612
19613         New module 'unicase/u32-ct-tolower'.
19614         * lib/unicase/u32-ct-tolower.c: New file.
19615         * modules/unicase/u32-ct-tolower: New file.
19616
19617         New module 'unicase/u16-ct-tolower'.
19618         * lib/unicase/u16-ct-tolower.c: New file.
19619         * modules/unicase/u16-ct-tolower: New file.
19620
19621         New module 'unicase/u8-ct-tolower'.
19622         * lib/unicase/u8-ct-tolower.c: New file.
19623         * modules/unicase/u8-ct-tolower: New file.
19624
19625         New module 'unicase/u32-ct-toupper'.
19626         * lib/unicase/u32-ct-toupper.c: New file.
19627         * modules/unicase/u32-ct-toupper: New file.
19628
19629         New module 'unicase/u16-ct-toupper'.
19630         * lib/unicase/u16-ct-toupper.c: New file.
19631         * modules/unicase/u16-ct-toupper: New file.
19632
19633         New module 'unicase/u8-ct-toupper'.
19634         * lib/unicase/u8-ct-toupper.c: New file.
19635         * modules/unicase/u8-ct-toupper: New file.
19636
19637         Add context arguments to u*_casemap functions.
19638         * lib/unicase/unicasemap.h: Include unicase.h.
19639         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
19640         suffix_context arguments.
19641         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
19642         functions.
19643         (FUNC): Add prefix_context and suffix_context arguments. Use
19644         uc_is_cased and uc_is_case_ignorable.
19645         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
19646         * lib/unicase/u16-casemap.c: Likewise.
19647         * lib/unicase/u32-casemap.c: Likewise.
19648         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
19649         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
19650         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
19651         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
19652         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
19653         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
19654
19655         New module 'unicase/u32-suffix-context'.
19656         * lib/unicase/u32-suffix-context.c: New file.
19657         * modules/unicase/u32-suffix-context: New file.
19658
19659         New module 'unicase/u16-suffix-context'.
19660         * lib/unicase/u16-suffix-context.c: New file.
19661         * modules/unicase/u16-suffix-context: New file.
19662
19663         New module 'unicase/u8-suffix-context'.
19664         * lib/unicase/u8-suffix-context.c: New file.
19665         * lib/unicase/u-suffix-context.h: New file.
19666         * modules/unicase/u8-suffix-context: New file.
19667
19668         New module 'unicase/empty-suffix-context'.
19669         * lib/unicase/empty-suffix-context.c: New file.
19670         * modules/unicase/empty-suffix-context: New file.
19671
19672         New module 'unicase/u32-prefix-context'.
19673         * lib/unicase/u32-prefix-context.c: New file.
19674         * modules/unicase/u32-prefix-context: New file.
19675
19676         New module 'unicase/u16-prefix-context'.
19677         * lib/unicase/u16-prefix-context.c: New file.
19678         * modules/unicase/u16-prefix-context: New file.
19679
19680         New module 'unicase/u8-prefix-context'.
19681         * lib/unicase/u8-prefix-context.c: New file.
19682         * lib/unicase/u-prefix-context.h: New file.
19683         * lib/unicase/context.h: New file.
19684         * modules/unicase/u8-prefix-context: New file.
19685
19686         New module 'unicase/empty-prefix-context'.
19687         * lib/unicase/empty-prefix-context.c: New file.
19688         * modules/unicase/empty-prefix-context: New file.
19689
19690         New module 'unicase/ignorable'.
19691         * lib/unicase/ignorable.c: New file.
19692         * modules/unicase/ignorable: New file.
19693
19694         New module 'unicase/cased'.
19695         * lib/unicase/caseprop.h: New file.
19696         * lib/unicase/cased.c: New file.
19697         * modules/unicase/cased: New file.
19698
19699         New functions for case mapping of substrings.
19700         * lib/unicase.h (casing_prefix_context_t): New type.
19701         (unicase_empty_prefix_context): New variable.
19702         (u8_casing_prefix_context, u16_casing_prefix_context,
19703         u32_casing_prefix_context, u8_casing_prefixes_context,
19704         u16_casing_prefixes_context, u32_casing_prefixes_context): New
19705         declarations.
19706         (casing_suffix_context_t): New type.
19707         (unicase_empty_suffix_context): New variable.
19708         (u8_casing_suffix_context, u16_casing_suffix_context,
19709         u32_casing_suffix_context, u8_casing_suffixes_context,
19710         u16_casing_suffixes_context, u32_casing_suffixes_context,
19711         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
19712         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
19713         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
19714         declarations.
19715
19716 2009-06-28  Jim Meyering  <meyering@redhat.com>
19717
19718         boostrap: indent only with spaces
19719         * build-aux/bootstrap: Indent only with spaces, never TABs.
19720
19721         bootstrap: split long lines
19722         * build-aux/bootstrap: Keep line length < 80.
19723
19724         bootstrap: sync from coreutils
19725         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
19726         just as autoreconf does.  Verify a list of prerequisite
19727         package-name,version-number pairs if defined in bootstrap.conf.
19728         Refer to README-prereq, if prerequisites are not satisfied.
19729
19730 2009-06-27  Eric Blake  <ebb9@byu.net>
19731
19732         tests: add test for bogus NULL definition
19733         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
19734         * tests/test-stdlib.c: Likewise.
19735         * tests/test-string.c: Likewise.
19736         * tests/test-locale.c: Likewise.
19737         * tests/test-unistd.c: Likewise.
19738         * modules/stdio-tests (Depends-on): Add verify.
19739         * modules/stdlib-tests (Depends-on): Likewise.
19740         * modules/string-tests (Depends-on): Likewise.
19741         * modules/locale-tests (Depends-on): Likewise.
19742         * modules/unistd-tests (Depends-on): Likewise.
19743
19744 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
19745
19746         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
19747         self-explaining comment.
19748         * m4/selinux-selinux-h: Update serial.
19749         (gl_LIBSELINUX): New macro, adding a warning for missing development
19750         packages to code extracted from...
19751         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
19752         Add warning for missing development packages here, too.
19753
19754 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
19755
19756         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
19757
19758 2009-06-25  Eric Blake  <ebb9@byu.net>
19759
19760         version-etc: fix regression
19761         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
19762         gcc.
19763         (version_etc): Use it, to catch bugs with trailing NULL.
19764         * lib/version-etc.c (version_etc_arn): Delete unused argument.
19765         (version_etc_va): Fix logic bug.
19766         * modules/version-etc-tests: Add test.
19767         * tests/test-version-etc.c: New file.
19768         * tests/test-version-etc.sh: Likewise.
19769
19770 2009-06-25  Sam Steingold  <sds@gnu.org>
19771
19772         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
19773         mbtowc declaration.
19774
19775 2009-06-25  Eric Blake  <ebb9@byu.net>
19776
19777         fpurge: migrate into <stdio.h>
19778         * lib/fpurge.h: Delete...
19779         * lib/stdio.in.h (fpurge): ...and declare here, instead.
19780         * lib/fpurge.c (fpurge): Change declaring header.
19781         * modules/fpurge (Files): Drop deleted file.
19782         (Depends-on): Add stdio.
19783         (configure.ac): Set witness.
19784         * modules/stdio (Makefile.am): Support fpurge macros.
19785         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
19786         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
19787         * lib/fflush.c: Update client.
19788         * tests/test-fpurge.c: Likewise.
19789         * NEWS: Mention the change.
19790
19791 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
19792
19793         * lib/argp-version-etc.c (program_authors): Add const
19794         qualifier.
19795         * lib/version-etc.c: Fix typos in the comments.
19796         * modules/argp-version-etc: Depends on version-etc.
19797
19798 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
19799
19800         argp-version-etc: new module.
19801
19802         * lib/argp-version-etc.c: New file.
19803         * lib/argp-version-etc.h: New file.
19804         * modules/argp-version-etc: New file.
19805         * modules/argp-version-etc-tests: New file.
19806         * tests/test-argp-version-etc.c: New test.
19807         * tests/test-argp-version-etc-1.sh: New test.
19808
19809 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
19810
19811         Provide additional interfaces and documentation for version-etc
19812         module.
19813
19814         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
19815         interfaces.
19816         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
19817         prototypes.
19818
19819 2009-06-24  Bruno Haible  <bruno@clisp.org>
19820
19821         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
19822         HAVE_LIB${NAME} macro.
19823         Reported by Sam Steingold <sds@gnu.org>.
19824
19825 2009-06-23  Simon Josefsson  <simon@josefsson.org>
19826
19827         * modules/hash-tests (test_hash_LDADD): Link to libintl when
19828         needed.
19829
19830 2009-06-21  Bruno Haible  <bruno@clisp.org>
19831
19832         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
19833         work.
19834         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
19835         together with LIB${NAME}, LTLIB${NAME}.
19836         Reported by Sam Steingold <sds@gnu.org>.
19837
19838 2009-06-20  Jim Meyering  <meyering@redhat.com>
19839
19840         tests: make sc_require_test_exit_idiom more generic
19841         * top/maint.mk (Exit_witness_file): New overridable variable.
19842         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
19843         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
19844
19845 2009-06-19  Jim Meyering  <meyering@redhat.com>
19846
19847         hash: reverse order of src/dst parameters in an internal interface
19848         * lib/hash.c (transfer_entries): Reverse order of parameters to
19849         put DST before SRC.  Adjust callers.
19850
19851         tests: test-hash: avoid wholesale duplication
19852         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
19853         Instead, use a loop and add a single conditional.
19854
19855         tests: test-hash: allow seed selection via a command line argument
19856         * tests/test-hash.c (get_seed): New function.
19857         (main): Use it.
19858
19859 2009-06-19  Eric Blake  <ebb9@byu.net>
19860
19861         hash: avoid memory leak on allocation failure
19862         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
19863         failure.  Factor repeated algorithm...
19864         (transfer_entries): ...into new helper routine.
19865         (hash_delete): React to hash_rehash return value.
19866
19867         hash: reduce memory pressure in hash_rehash no-op case
19868         * lib/hash.c (next_prime): Avoid overflow.
19869         (hash_initialize): Factor bucket size computation...
19870         (compute_bucket_size): ...into new helper function.
19871         (hash_rehash): Use new function and open coding to reduce memory
19872         pressure, and avoid a memory leak in USE_OBSTACK code.
19873         Reported by Jim Meyering.
19874
19875 2009-06-18  Eric Blake  <ebb9@byu.net>
19876
19877         hash: make rotation more obvious
19878         * modules/hash (Depends-on): Add bitrotate and stdint.
19879         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
19880         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
19881         (SIZE_MAX): Rely on headers for definition.
19882         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
19883         (raw_hasher): Use rotr_sz.
19884         Suggested by Jim Meyering.
19885
19886         hash: fix memory leak in last patch
19887         * lib/hash.c (hash_rehash): Avoid memory leak.
19888
19889         hash: avoid no-op rehashing
19890         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
19891
19892         hash: provide default callback functions
19893         * lib/hash.c (raw_hasher, raw_comparator): New functions.
19894         (hash_initialize): Use them as defaults.
19895         * tests/test-hash.c (main): Test this.
19896
19897         hash: minor optimization
19898         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
19899         when possible.
19900         (hash_initialize): Document this promise.
19901         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
19902         * tests/test-hash.c (hash_compare_strings): Test this.
19903
19904 2009-06-18  Bruno Haible  <bruno@clisp.org>
19905
19906         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
19907         going to be replaced anyway.
19908
19909 2009-06-18  Bruno Haible  <bruno@clisp.org>
19910
19911         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
19912         in one place.
19913         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
19914         be replaced anyway.
19915
19916 2009-06-18  Eric Blake  <ebb9@byu.net>
19917
19918         hash: check for resize before insertion
19919         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
19920         threshold before insertion, so that a pathological hash_rehash
19921         that fills every bucket can still trigger another rehash.
19922
19923 2009-06-18  Jim Meyering  <meyering@redhat.com>
19924
19925         hash-tests: add a loop around the small tests
19926         * tests/test-hash.c (main): Repeat small tests with selected
19927         small initial table sizes.
19928
19929 2009-06-17  Eric Blake  <ebb9@byu.net>
19930
19931         hash: minor cleanups
19932         * lib/hash.h (hash_entry): Make opaque, by moving...
19933         * lib/hash.c (hash_entry): ...here.
19934         (hash_insert): Clarify restrictions on what can be inserted.
19935         (hash_get_next): Clarify when it is safe to remove an element
19936         during traversal.
19937         (check_tuning): Skip verification when tuning is known safe.
19938         (hash_initialize): Clarify restrictions on tuning.
19939
19940 2009-06-17  Jim Meyering  <jim@meyering.net>
19941         and Eric Blake  <ebb9@byu.net>
19942
19943         hash-tests: new module
19944         * modules/hash-tests: New file.
19945         * tests/test-hash.c: New file.
19946
19947 2009-06-17  Eric Blake  <ebb9@byu.net>
19948
19949         strstr-simple: document new module
19950         * MODULES.html.sh: Document new module.
19951
19952         strstr, strcasestr: replace on platforms with broken memchr
19953         * modules/strstr: Split into...
19954         * modules/strstr-simple: ...new module that does not care about
19955         performance, but does care about glibc bug.
19956         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
19957         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
19958         if platform memchr is broken, per Debian bug 521737.
19959         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
19960         memchr.
19961         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
19962         * doc/posix-functions/strstr.texi (strstr): Document the fix.
19963         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
19964         * modules/mountlist (Depends-on): Add strstr-simple.
19965         * modules/gen-uni-tables (Depends-on): Likewise.
19966         * modules/argz (Depends-on): Add strstr.
19967
19968 2009-06-17  Bruno Haible  <bruno@clisp.org>
19969
19970         * modules/posix_spawn-internal (Depends-on): Add errno.
19971
19972 2009-06-17  Bruno Haible  <bruno@clisp.org>
19973
19974         Define missing ESTALE on Interix 3.5.
19975         * lib/errno.in.h (ESTALE): Assign a value if missing.
19976         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
19977         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
19978         missing.
19979         * doc/posix-headers/errno.texi: Mention the Interix bug.
19980         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
19981
19982 2009-06-15  Eric Blake  <ebb9@byu.net>
19983
19984         memchr, memchr2: add valgrind exception
19985         * lib/memchr.valgrind: New file.
19986         * lib/memchr2.valgrind: New file.
19987         * modules/memchr (Files): Distribute valgrind file.
19988         * modules/memchr2 (Files): Likewise.
19989
19990         docs: memchr is no longer obsolete
19991         * MODULES.html.sh: Move memchr from obsolete to string.h section.
19992         * lib/string.in.h (memchr): Simplify logic.
19993
19994 2009-06-14  Jim Meyering  <meyering@redhat.com>
19995
19996         link-follow: fix the "checking..." message to not mention trailing slash
19997         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
19998         never considered trailing slashes.
19999
20000 2009-06-14  Bruno Haible  <bruno@clisp.org>
20001
20002         * m4/memchr.m4: Mention also the bug on IA-64.
20003         * doc/posix-functions/memchr.texi: Likewise.
20004
20005 2009-06-12  Eric Blake  <ebb9@byu.net>
20006
20007         memchr: detect broken x86_64 and alpha implementations
20008         * modules/memchr-tests (Depends-on): Move mmap detection...
20009         * modules/memchr (Depends-on): ...here.
20010         (configure.ac): Set indicator.
20011         * lib/string.in.h (memchr): Declare replacement.
20012         * modules/string (Makefile.am): Trigger replacement.
20013         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
20014         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
20015         bugs.
20016         * doc/posix-functions/memchr.texi (memchr): Document the bug.
20017         * modules/getpagesize (License): Relax license.
20018
20019 2009-06-11  Bruno Haible  <bruno@clisp.org>
20020
20021         * lib/idpriv.h: Add more references.
20022
20023 2009-06-08  Bruno Haible  <bruno@clisp.org>
20024
20025         Tests for module 'idpriv-droptemp'.
20026         * modules/idpriv-droptemp-tests: New file.
20027         * tests/test-idpriv-droptemp.sh: New file.
20028         * tests/test-idpriv-droptemp.su.sh: New file.
20029         * tests/test-idpriv-droptemp.c: New file.
20030
20031         New module 'idpriv-droptemp'.
20032         * lib/idpriv-droptemp.c: New file.
20033         * modules/idpriv-droptemp: New file.
20034
20035 2009-06-08  Bruno Haible  <bruno@clisp.org>
20036
20037         Tests for module 'idpriv-drop'.
20038         * modules/idpriv-drop-tests: New file.
20039         * tests/test-idpriv-drop.sh: New file.
20040         * tests/test-idpriv-drop.su.sh: New file.
20041         * tests/test-idpriv-drop.c: New file.
20042
20043         New module 'idpriv-drop'.
20044         * lib/idpriv.h: New file.
20045         * lib-idpriv-drop.c: New file.
20046         * m4/idpriv.m4: New file.
20047         * modules/idpriv-drop: New file.
20048
20049 2009-06-08  Bruno Haible  <bruno@clisp.org>
20050
20051         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
20052         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
20053         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
20054         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
20055         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
20056         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
20057         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
20058
20059 2009-06-08  Eric Blake  <ebb9@byu.net>
20060
20061         test-strstr: use memory fence, when possible
20062         * tests/test-strstr.c (main): Use memory fence, in order to be
20063         more likely to trigger Debian bug 521737.
20064         * modules/strstr-tests (Files): Pull in additional files.
20065
20066         memchr: no longer obsolete, for wider field testing
20067         * modules/memchr (Status, Notice): Delete, this module is no
20068         longer obsolete.
20069         * modules/vasnprintf (Depends-on): Add memchr.
20070
20071 2009-06-07  Jim Meyering  <meyering@redhat.com>
20072
20073         hash: declare some functions with the warn_unused_result attribute
20074         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
20075
20076 2009-06-07  Bruno Haible  <bruno@clisp.org>
20077
20078         * tests/test-alignof.c: Don't test int64_t if it does not exist.
20079         Reported by Eric Blake.
20080
20081 2009-06-06  Eric Blake  <ebb9@byu.net>
20082
20083         test-alignof: fix typo with long double
20084         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
20085         compiler error.
20086
20087 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
20088
20089         Escape non-texinfo { and }s.
20090         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
20091         markup error.
20092
20093 2009-06-04  Jim Meyering  <meyering@redhat.com>
20094
20095         gitlog-to-changelog: don't infloop on an empty commit log
20096         * build-aux/gitlog-to-changelog: Warn about an empty log message.
20097         Reported by Boris Petersen <transacid@centerim.org>.
20098
20099 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
20100
20101         version-etc: extend for packagers
20102         Add three new configure options, intended for packagers:
20103           --with-packager="packager name"
20104           --with-packager-version="packager-specific version"
20105           --with-packager-bug-reports="packager bug reporting"
20106         An example with coreutils:
20107           $ ./configure \
20108             --with-packager=Gentoo \
20109             --with-packager-bug-report=http://bugs.gentoo.org/ \
20110             --with-packager-version="patchset 1.6"
20111           $ ./src/ls --version | head -n2
20112           ls (GNU coreutils) 7.1-dirty
20113           Packaged by Gentoo (patchset 1.6)
20114         Note that the bug reporting info via --help doesn't show up because
20115         coreutils uses its own custom emit_bug_reporting_address() implementation
20116         in src/system.h.  If it didn't, it'd look like:
20117           $ ./src/ls --help | tail -n4
20118           Report bugs to <bug-coreutils@gnu.org>.
20119           Report Gentoo bugs to <http://bugs.gentoo.org/>.
20120           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
20121           General help using GNU software: <http://www.gnu.org/gethelp/>.
20122         * lib/version-etc.c: Print new information, if provided.
20123         * m4/version-etc.m4: New file.
20124         * modules/version-etc (Files): Add m4/version-etc.m4.
20125         (configure.ac): Add gl_VERSION_ETC.
20126
20127 2009-05-31  Bruno Haible  <bruno@clisp.org>
20128
20129         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
20130         and 'int64_t'.
20131         * modules/alignof-tests (Dependencies): Add stdint.
20132         Reported by Eric Blake.
20133
20134 2009-05-31  Bruno Haible  <bruno@clisp.org>
20135
20136         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
20137         restriction due to compiler bugs.
20138         Reported by Eric Blake.
20139
20140 2009-05-31  Simon Josefsson  <simon@josefsson.org>
20141             Bruno Haible  <bruno@clisp.org>
20142
20143         Fix test-alignof failure.
20144         * lib/alignof.h (alignof_slot): New macro.
20145         (alignof_type): New macro, with the same semantics as the previous
20146         'alignof'.
20147         (alignof): Alias to alignof_slot.
20148         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
20149         check that the results are usable as constant expressions.
20150
20151 2009-05-31  Bruno Haible  <bruno@clisp.org>
20152
20153         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
20154         * tests/test-memchr.c (main): Check that memchr does not read past the
20155         first occurrence of the byte.
20156         * tests/test-strstr.c (main): Update comment.
20157         Suggested by Eric Blake.
20158
20159 2009-05-30  Bruno Haible  <bruno@clisp.org>
20160
20161         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
20162         detail how to use dumpbin.
20163         Reported by David Byron <dbyron@dbyron.com>.
20164
20165 2009-06-02  Simon Josefsson  <simon@josefsson.org>
20166
20167         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
20168
20169 2009-06-02  Simon Josefsson  <simon@josefsson.org>
20170
20171         * m4/manywarnings.m4: Add GCC 4.4 warnings.
20172
20173 2009-05-28  Bruno Haible  <bruno@clisp.org>
20174
20175         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
20176         build-aux/ files.
20177
20178 2009-05-28  Simon Josefsson  <simon@josefsson.org>
20179
20180         * gnulib-tool (func_import): Transform license on build-aux/ files too.
20181
20182 2009-05-27  Simon Josefsson  <simon@josefsson.org>
20183
20184         * gnulib-tool (sed_transform_main_lib_file)
20185         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
20186         regexps.
20187
20188 2009-05-26  Simon Josefsson  <simon@josefsson.org>
20189
20190         * tests/test-strstr.c: Add another self-test.
20191         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
20192         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
20193
20194 2009-05-23  Bruno Haible  <bruno@clisp.org>
20195
20196         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
20197         change.
20198
20199 2009-05-21  Bruno Haible  <bruno@clisp.org>
20200
20201         Simplify use of mode_t varargs.
20202         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
20203         uses 'mode_t' or 'int'.
20204         * lib/openat.c (openat): Likewise.
20205         * lib/open-safer.c (open_safer): Likewise.
20206         * m4/mode_t.m4: New file.
20207         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
20208         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
20209         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
20210         * modules/open (Files): Add m4/mode_t.m4.
20211         * modules/openat (Files): Likewise.
20212         * modules/fcntl-safer (Files): Likewise.
20213         Suggested by Eric Blake.
20214
20215 2009-05-21  Pádraig Brady  <P@draigbrady.com>
20216
20217         * doc/glibc-functions/fallocate.texi: New file.
20218         * doc/gnulib.texi: Include it.
20219
20220 2009-05-21  Eric Blake  <ebb9@byu.net>
20221             Bruno Haible  <bruno@clisp.org>
20222
20223         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
20224         invocations.
20225         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
20226
20227 2009-05-21  Eric Blake  <ebb9@byu.net>
20228             Bruno Haible  <bruno@clisp.org>
20229
20230         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
20231         include_next. Fix of 2008-11-20 commit.
20232         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
20233         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
20234         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
20235         NEXT_MATH_H.
20236         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
20237         instead of NEXT_MATH_H.
20238
20239 2009-05-21  Bruno Haible  <bruno@clisp.org>
20240
20241         Avoid redefinition warnings for SIZE_MAX.
20242         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
20243         Reported by Simon Josefsson.
20244
20245 2009-05-21  Bruno Haible  <bruno@clisp.org>
20246
20247         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
20248         AC_CACHE_VAL.
20249
20250 2009-05-20  Bruno Haible  <bruno@clisp.org>
20251
20252         Make zeroptr.h work on mingw.
20253         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
20254         mprotect.
20255         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
20256         * modules/memchr2-tests (configure.ac): Likewise.
20257         * modules/memcmp-tests (configure.ac): Likewise.
20258         * modules/memmem-tests (configure.ac): Likewise.
20259         * modules/memrchr-tests (configure.ac): Likewise.
20260         Reported by Simon Josefsson.
20261
20262 2009-05-20  Simon Josefsson  <simon@josefsson.org>
20263
20264         * tests/test-glob.c: Include string.h for strcmp prototype.
20265
20266 2009-05-20  Simon Josefsson  <simon@josefsson.org>
20267
20268         * modules/getdelim (Depends-on): Add explicit stdint, although it
20269         was implicitly already pulled in via realloc-posix.
20270         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
20271
20272 2009-05-20  Simon Josefsson  <simon@josefsson.org>
20273
20274         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
20275         G. Christensen" <tgc@jupiterrise.com>.
20276         * m4/sys_socket_h.m4: Check for sa_family_t.
20277         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
20278         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
20279         * tests/test-sys_socket.c: Check that sa_family_t works.
20280
20281 2009-05-18  Eric Blake  <ebb9@byu.net>
20282
20283         maint.mk: allow gnulib_dir in VPATH build
20284         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
20285
20286 2009-05-15  Jim Meyering  <meyering@redhat.com>
20287
20288         maint.mk: Give gnulib_dir a default definition.
20289         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
20290         Thus, most packages no longer need to specify this variable in cfg.mk
20291
20292 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
20293
20294         rename.m4: fix typos that would make non-mingw cross-configure fail
20295         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
20296
20297 2009-05-13  Eric Blake  <ebb9@byu.net>
20298
20299         mmap-anon: avoid out-of-order autoconf expansion
20300         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
20301         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
20302         * modules/memchr-tests (Depends-on): Add extensions.
20303         * modules/memchr2-tests (Depends-on): Add extensions.
20304         * modules/memcmp-tests (Depends-on): Add extensions.
20305         * modules/memmem-tests (Depends-on): Add extensions.
20306         * modules/memrchr-tests (Depends-on): Add extensions.
20307
20308 2009-05-13  Bruno Haible  <bruno@clisp.org>
20309
20310         Make some tests ISO C 99 compliant.
20311         * tests/zerosize-ptr.h: New file.
20312         * tests/test-memchr.c: Include zerosize-ptr.h.
20313         (main): Use a zero-size object pointer instead of NULL.
20314         * tests/test-memchr2.c: Include zerosize-ptr.h.
20315         (main): Use a zero-size object pointer instead of NULL.
20316         * tests/test-memcmp.c: Include zerosize-ptr.h.
20317         (main): Use a zero-size object pointer instead of NULL.
20318         * tests/test-memmem.c: Include zerosize-ptr.h.
20319         (main): Use a zero-size object pointer instead of NULL.
20320         * tests/test-memrchr.c: Include zerosize-ptr.h.
20321         (main): Use a zero-size object pointer instead of NULL.
20322         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
20323         m4/mmap-anon.m4.
20324         (Depends-on): Add getpagesize.
20325         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
20326         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
20327         m4/mmap-anon.m4.
20328         (Depends-on): Add getpagesize.
20329         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
20330         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
20331         m4/mmap-anon.m4.
20332         (Depends-on): Add getpagesize.
20333         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
20334         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
20335         m4/mmap-anon.m4.
20336         (Depends-on): Add getpagesize.
20337         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
20338         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
20339         m4/mmap-anon.m4.
20340         (Depends-on): Add getpagesize.
20341         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
20342
20343 2009-05-12  Bruno Haible  <bruno@clisp.org>
20344
20345         Tests for module 'alignof'.
20346         * modules/alignof-tests: New file.
20347         * tests/test-alignof.c: New file.
20348
20349 2009-05-12  Bruno Haible  <bruno@clisp.org>
20350
20351         Fix alignof macro.
20352         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
20353         vendor compilers that are always correct.
20354
20355 2009-05-12  Bruno Haible  <bruno@clisp.org>
20356
20357         Make the MAP_ANONYMOUS detection work on HP-UX 11.
20358         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
20359         not whether its fully works.
20360
20361 2009-05-12  Bruno Haible  <bruno@clisp.org>
20362
20363         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
20364
20365 2009-05-12  Jim Meyering  <meyering@redhat.com>
20366
20367         * top/maint.mk: Adjust backslash alignment.
20368
20369 2009-05-11  Simon Josefsson  <simon@josefsson.org>
20370
20371         * top/maint.mk: Make $(srcdir)/build-aux configurable.
20372
20373 2009-05-11  Eric Blake  <ebb9@byu.net>
20374
20375         argp: avoid undefined behavior
20376         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
20377         macros.
20378
20379 2009-05-08  Simon Josefsson  <simon@josefsson.org>
20380
20381         * tests/test-vc-list-files-git.sh: Do git config of user.email and
20382         user.name to prevent git commit from complaining.
20383
20384 2009-05-10  Bruno Haible  <bruno@clisp.org>
20385
20386         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
20387         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
20388         it rewrites every file name only once.
20389         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
20390
20391 2009-05-08  Bruno Haible  <bruno@clisp.org>
20392
20393         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
20394         instead of 'max'.
20395
20396 2009-05-08  Simon Josefsson  <simon@josefsson.org>
20397
20398         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
20399         sockaddr_storage test.
20400
20401 2009-05-07  Simon Josefsson  <simon@josefsson.org>
20402
20403         * modules/sys_socket (Makefile.am): Substitute
20404         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
20405         * m4/sys_socket_h.m4: Check for sockaddr_storage.
20406         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
20407         * tests/test-sys_socket.c: Check sockaddr_storage.
20408
20409 2009-05-08  Bruno Haible  <bruno@clisp.org>
20410
20411         New module 'alignof'.
20412         * lib/alignof.h: New file.
20413         * modules/alignof: New file.
20414
20415 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
20416             Bruno Haible  <bruno@clisp.org>
20417
20418         Fix test-file-has-acl on FreeBSD.
20419         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
20420         mask is implicitly added.
20421         * tests/test-file-has-acl.c: Include <signal.h>.
20422         (main): Terminate the test after 5 seconds.
20423         * modules/acl-tests (configure.ac): Check for alarm function.
20424
20425 2009-05-04  Bruno Haible  <bruno@clisp.org>
20426
20427         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
20428         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
20429         * modules/errno (configure.ac): Drop AC_REQUIRE.
20430         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
20431         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
20432
20433 2009-05-04  Simon Josefsson  <simon@josefsson.org>
20434
20435         * modules/glob-tests: New module.
20436         * tests/test-glob.c: Add.
20437
20438 2009-05-04  Simon Josefsson  <simon@josefsson.org>
20439
20440         * modules/fnmatch-tests: New module.
20441         * tests/test-fnmatch.c: Add.
20442
20443 2009-05-04  Eric Blake  <ebb9@byu.net>
20444
20445         maint: make the new no-submodule-changes rule VPATH-safe
20446         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
20447
20448 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
20449             Bruno Haible  <bruno@clisp.org>
20450
20451         acl: Fix infinite loop on FreeBSD.
20452         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
20453         of return value from acl_get_entry.
20454         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
20455         Likewise.
20456
20457 2009-05-03  Bruno Haible  <bruno@clisp.org>
20458
20459         * lib/acl-internal.h (acl_entries): Clarify return value.
20460         * lib/acl_entries.c (acl_entries): Likewise.
20461
20462 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
20463
20464         Bug fix in acl module.
20465         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
20466
20467 2009-05-03  Bruno Haible  <bruno@clisp.org>
20468
20469         Create gperf-generated file in the source dir, not in the build dir.
20470         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
20471         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
20472         * modules/unicase/locale-language (unicase/locale-languages.h):
20473         Likewise.
20474         * modules/unicase/special-casing (unicase/special-casing-table.h):
20475         Likewise.
20476         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
20477         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
20478         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
20479         Reported by Ralf Wildenhues.
20480
20481 2009-05-03  Bruno Haible  <bruno@clisp.org>
20482
20483         * modules/fnmatch (Description, configure.ac): Taken from
20484         fnmatch-posix.
20485         * modules/fnmatch-posix: Turn into a symbolic reference to the
20486         'fnmatch' module, and deprecate.
20487         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
20488
20489 2009-05-03  Bruno Haible  <bruno@clisp.org>
20490
20491         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
20492         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
20493         Reported by Ralf Wildenhues.
20494
20495 2009-05-04  Simon Josefsson  <simon@josefsson.org>
20496
20497         * m4/fnmatch.m4: Fix fnmatch re-define.
20498
20499 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
20500
20501         priv-set: new module and tests; adapt write-any-file
20502         * lib/priv-set.c: New file.
20503         * lib/priv-set.h: New file.
20504         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
20505         * lib/write-any-file.c: Simplify by using priv-set module.
20506         * m4/priv-set.m4: New file.
20507         * modules/priv-set: New file.
20508         * modules/unlinkdir: Add dependency on priv-set module.
20509         * modules/write-any-file: Likewise.
20510
20511         Tests for module 'priv-set'.
20512         * modules/priv-set-tests: New file.
20513         * tests/test-priv-set.c: New file.
20514
20515 2009-05-03  Jim Meyering  <meyering@redhat.com>
20516             Bruno Haible  <bruno@clisp.org>
20517
20518         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
20519         use the converted UTF-8 variant of the name instead.
20520
20521 2009-05-03  Jim Meyering  <meyering@redhat.com>
20522
20523         tests: tighten some getdate tests
20524         * tests/test-getdate.c (main): Tighten tests: require equality,
20525         not just greater than.  Set TZ envvar to UTC0.
20526
20527 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
20528
20529         getdate: correctly interpret "next monday" when run on a Monday
20530         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
20531         that e.g., "next tues" (when run on a tuesday) results in a date
20532         that is one week in the future, and not today's date.
20533         I.e., add a week when the wday is the same as the current one.
20534         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
20535         and earlier by Martin Bernreuther and Jan Minář.
20536         * tests/test-getdate.c (main): Check that "next DAY" is always in
20537         the future and that "last DAY" is always in the past.
20538
20539 2009-05-02  Jim Meyering  <meyering@redhat.com>
20540
20541         build: ensure that a release build fails when a submodule is unclean
20542         * top/maint.mk (no-submodule-changes): New rule.
20543         (alpha beta major): Depend on it.
20544
20545 2009-05-02  Bruno Haible  <bruno@clisp.org>
20546
20547         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
20548         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
20549         shell variable gl_fnmatch_required to detect which variant is
20550         requested.
20551         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
20552         gl_FUNC_FNMATCH_POSIX.
20553         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
20554         exclude fnmatch-posix.
20555
20556 2009-05-02  Bruno Haible  <bruno@clisp.org>
20557
20558         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
20559         * modules/mbsrtowcs (License): Change to LGPLv2+.
20560         * modules/strnlen1 (License): Likewise.
20561         Reported by Simon Josefsson.
20562
20563 2009-05-02  Bruno Haible  <bruno@clisp.org>
20564
20565         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
20566         "cross".
20567         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
20568         gnulib-tool was called with option --source-base=lib.
20569
20570 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20571
20572         Use automake *-local hooks without commands, for extensibility.
20573         * modules/localcharset (Makefile.am): Rename install-exec-local
20574         rule to install-exec-localcharset, and make it a prerequisite of
20575         install-exec-local.  Likewise, rename the uninstall-local rule to
20576         uninstall-localcharset, and make it a prerequisite of the former.
20577
20578 2009-05-01  Bruno Haible  <bruno@clisp.org>
20579
20580         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
20581         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
20582         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
20583         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
20584         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
20585         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
20586         m4/locale-zh.m4, m4/codeset.m4.
20587
20588         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
20589         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
20590         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
20591         m4/locale-zh.m4.
20592
20593         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
20594         REPLACE_WCRTOMB if mbstate_t must be replaced.
20595         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
20596         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
20597
20598 2009-05-01  Bruno Haible  <bruno@clisp.org>
20599
20600         Avoid compiler warnings when redefining macros defined by <libintl.h>.
20601         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
20602         dngettext, dcngettext, textdomain, bindtextdomain,
20603         bind_textdomain_codeset): Undefine before redefining.
20604
20605 2009-04-30  Bruno Haible  <bruno@clisp.org>
20606
20607         Fix bug introduced on 2009-04-25.
20608         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
20609         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
20610         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
20611         is defined.
20612         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
20613         is defined.
20614         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
20615         is defined.
20616         Reported by Elbert_Pol <elbert.pol@gmail.com>.
20617
20618 2009-04-28  Bruno Haible  <bruno@clisp.org>
20619
20620         Comment tweaks.
20621         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
20622         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
20623         * lib/unicase.h (u*_casexfrm): Likewise.
20624         Reported by Paolo Bonzini.
20625
20626 2009-04-28  Bruno Haible  <bruno@clisp.org>
20627
20628         Fix a compilation error.
20629         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
20630         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
20631         Reported by Jim Meyering.
20632
20633 2009-04-27  Bruno Haible  <bruno@clisp.org>
20634
20635         New module 'libunistring'.
20636         * modules/libunistring: New file.
20637         * m4/libunistring.m4: New file.
20638         * MODULES.html.sh (Unicode string functions): Add it.
20639
20640 2009-04-27  Eric Blake  <ebb9@byu.net>
20641
20642         maint.mk: allow package-specific header to provide <config.h>
20643         * top/maint.mk (sc_require_config_h): New variable.
20644         (sc_require_config_h, sc_require_config_h_first): Use it.
20645
20646 2009-04-27  Simon Josefsson  <simon@josefsson.org>
20647
20648         * top/maint.mk (sc_avoid_if_before_free): Except
20649         useless-if-before-free script.
20650
20651 2009-04-27  Eric Blake  <ebb9@byu.net>
20652
20653         maintainer-makefile: depend on all required helper scripts
20654         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
20655         useless-if-before-free.
20656         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
20657         version, rather than assuming gnulib checkout is available.
20658         Reported by Simen Josefsson.
20659
20660 2009-04-26  Bruno Haible  <bruno@clisp.org>
20661
20662         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
20663         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
20664         "../" or "..".
20665
20666 2009-04-26  Bruno Haible  <bruno@clisp.org>
20667
20668         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
20669         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
20670         AC_LIB_HAVE_LINKFLAGS.
20671
20672 2009-04-26  Bruno Haible  <bruno@clisp.org>
20673
20674         Simplify calling convention of u*_conv_from_encoding.
20675         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
20676         u32_conv_from_encoding): Expect a resultbuf argument and return the
20677         result directly as a pointer.
20678         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
20679         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
20680         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
20681         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
20682         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
20683         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
20684         Update.
20685         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
20686         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
20687         * lib/vasnprintf.c (VASNPRINTF): Update.
20688         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
20689         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
20690         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
20691         * NEWS: Mention the change.
20692
20693 2009-04-26  Bruno Haible  <bruno@clisp.org>
20694
20695         Simplify calling convention of u*_conv_to_encoding.
20696         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
20697         u32_conv_to_encoding): Expect a resultbuf argument and return the
20698         result directly as a pointer.
20699         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
20700         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
20701         freeing scaled_offsets if mem_iconveha failed.
20702         * lib/unicase/u-casexfrm.h (FUNC): Update.
20703         * lib/uninorm/u-normxfrm.h (FUNC): Update.
20704         * lib/vasnprintf.c (VASNPRINTF): Update.
20705         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
20706         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
20707         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
20708         * NEWS: Mention the change.
20709
20710 2009-04-26  Bruno Haible  <bruno@clisp.org>
20711
20712         Avoid test failures on AIX and OSF/1.
20713         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
20714         malloc(0).
20715         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
20716         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
20717         Likewise.
20718         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
20719         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
20720         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
20721         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
20722         * doc/posix-functions/malloc.texi: Document the portability problem
20723         related to malloc(0).
20724
20725 2009-04-26  Bruno Haible  <bruno@clisp.org>
20726
20727         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
20728         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
20729         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
20730
20731 2009-04-25  Bruno Haible  <bruno@clisp.org>
20732
20733         Avoid link error when creating a namespace clean library.
20734         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
20735         as macro with arguments if already defined as an alias.
20736         * lib/signbitf.c (gl_signbitf): Don't undefine.
20737         * lib/signbitd.c (gl_signbitd): Don't undefine.
20738         * lib/signbitl.c (gl_signbitl): Don't undefine.
20739
20740 2009-04-25  Jim Meyering  <meyering@redhat.com>
20741
20742         vc-list-files: fix another quoting bug
20743         * build-aux/vc-list-files: Avoid sed backslash expansion
20744         of pathological directory names.
20745
20746 2009-04-25  Eric Blake  <ebb9@byu.net>
20747
20748         vc-list-files: fix shell quoting error
20749         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
20750         timestamp.
20751
20752 2009-04-25  Jim Meyering  <meyering@redhat.com>
20753
20754         vc-list-files: restore lost functionality with subdir argument
20755         * build-aux/vc-list-files: When given a non-"." sub-directory
20756         argument, substitute the $dir/ prefix back onto each resulting name.
20757         Otherwise, coreutils' root_tests check would fail.
20758
20759 2009-04-24  Eric Blake  <ebb9@byu.net>
20760
20761         vc-list-files: ignore git symlinks
20762         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
20763         than ls-files, to ignore git symlinks.
20764
20765         maint.mk: import improvements from m4
20766         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
20767         (move_if_change): Delete unused macro.
20768         (news-date-check, vc-diff-check): Support VPATH builds.
20769         (announcement): Likewise.  Split --bootstrap-tools list...
20770         (boostrap-tools): ...into separate list, which can be overridden
20771         in cfg.mk.
20772         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
20773         requiring dependency on useless-if-before-free module.
20774         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
20775         Support VPATH builds.
20776
20777 2009-04-24  Jim Meyering  <meyering@redhat.com>
20778
20779         maint.mk: remove coreutils-specific rules and variables
20780         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
20781         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
20782         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
20783
20784         maint.mk: remove obsolete rule
20785         * top/maint.mk (rel-check): Remove rule.
20786         (WGET, WGETFLAGS): Remove now-unused variables.
20787
20788 2009-04-24  Simon Josefsson  <simon@josefsson.org>
20789
20790         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
20791         consistency.
20792
20793         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
20794         '$(PATH_SEPARATOR)' instead of ':'.
20795
20796 2009-04-24  Simon Josefsson  <simon@josefsson.org>
20797
20798         * lib/getopt1.c (main): Use 'const' for static array.
20799
20800 2009-04-24  Simon Josefsson  <simon@josefsson.org>
20801
20802         * top/maint.mk: Sync with coreutils.
20803         * NEWS: Explain incompatibilities.
20804
20805 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
20806             Bruno Haible  <bruno@clisp.org>
20807
20808         Fix cross-compilation results.
20809         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
20810         statement, as third argument of AC_TRY_RUN.
20811         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
20812         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
20813         Likewise.
20814         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
20815         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
20816         Likewise.
20817         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
20818         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
20819         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
20820
20821 2009-04-20  Bruno Haible  <bruno@clisp.org>
20822
20823         Avoid test failure on mingw.
20824         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
20825
20826 2009-04-20  Bruno Haible  <bruno@clisp.org>
20827
20828         Avoid compilation error on mingw.
20829         * modules/localename-tests (Depends-on): Add locale.
20830
20831 2009-04-19  Bruno Haible  <bruno@clisp.org>
20832
20833         Support for building a shared library on Windows platforms.
20834         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
20835         (main): Test the presence of UNINORM_NFC here.
20836         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
20837         (main): Test the presence of UNINORM_NFD here.
20838         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
20839         (main): Test the presence of UNINORM_NFKC here.
20840         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
20841         (main): Test the presence of UNINORM_NFKD here.
20842
20843 2009-04-19  Bruno Haible  <bruno@clisp.org>
20844
20845         Avoid a compiler warning.
20846         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
20847         Change type of variable 'sequence'.
20848
20849 2009-04-19  Bruno Haible  <bruno@clisp.org>
20850
20851         * modules/configmake (Makefile.am): When the contents of configmake.h
20852         does not change, arrange to preserve its modification time.
20853
20854 2009-04-17  Simon Josefsson  <simon@josefsson.org>
20855
20856         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
20857         gettext domain.
20858
20859 2009-04-16  Jim Meyering  <meyering@redhat.com>
20860
20861         useless-if-before-free: improve conversion code
20862         * build-aux/useless-if-before-free: Adjust code-in-comment to match
20863         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
20864
20865 2009-04-14  Bruno Haible  <bruno@clisp.org>
20866
20867         * modules/fcntl (Depends-on): Add extensions.
20868         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
20869
20870 2009-04-12  Ben Pfaff  <blp@gnu.org>
20871
20872         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
20873         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
20874
20875 2009-03-20  Ben Pfaff  <blp@gnu.org>
20876
20877         Make rename replace existing destinations on Windows.
20878         * m4/rename.m4: Add test for Mingw.
20879         * lib/rename.c: Add rename replacement that uses MoveFileEx with
20880         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
20881         * doc/posix-functions/rename.texi: Document.
20882
20883 2009-04-10  Bruno Haible  <bruno@clisp.org>
20884
20885         New include file "iconveh.h".
20886         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
20887         * lib/striconveh.h: Include it.
20888         (enum iconv_ilseq_handler): Remove definition.
20889         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
20890         striconveh.h.
20891         * lib/striconveha.c: Include striconveh.h.
20892         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
20893         * modules/striconveh (Files): Add lib/iconveh.h.
20894         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
20895         lib/striconveh.h.
20896
20897 2009-04-10  Bruno Haible  <bruno@clisp.org>
20898
20899         * lib/uniconv.h: Update comment.
20900
20901 2009-04-10  Bruno Haible  <bruno@clisp.org>
20902
20903         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
20904         always.
20905         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
20906         * lib/unistr/u16-mbtouc-aux.c: Likewise.
20907         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
20908         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
20909         "unistring-notinline.h", so that the function gets defined always.
20910         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
20911         * lib/unistr/u8-uctomb.c: Likewise.
20912         * lib/unistr/u16-mbtouc.c: Likewise.
20913         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
20914         * lib/unistr/u16-uctomb.c: Likewise.
20915         * lib/unistr/u32-mbtouc.c: Likewise.
20916         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
20917         * lib/unistr/u32-uctomb.c: Likewise.
20918
20919 2009-04-10  Bruno Haible  <bruno@clisp.org>
20920
20921         Mark 'utime' obsolete.
20922         * modules/utime (Status, Notice): New sections.
20923         Suggested by Jim Meyering.
20924
20925         Fix cross-compile guess for utime test.
20926         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
20927         autoconf.
20928         * doc/posix-functions/utime.texi: Give more precisions.
20929         Reported by Jan <ipif@ymail.com>.
20930
20931 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
20932
20933         filevercmp: correct today's change
20934         * lib/filevercmp.c: Also handle coreutils' test inputs.
20935         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
20936
20937         Fix regression in 'filevercmp' module. Thanks Sven Joachim
20938         for reporting it.
20939         * lib/filevercmp.c: Special handle for "", "." and "..".
20940         * tests/test-filevercmp.c: Enlarge the set suite.
20941
20942 2009-04-07  Jim Meyering  <meyering@redhat.com>
20943
20944         useless-if-before-free: show how to remove braced useless free, too
20945         * build-aux/useless-if-before-free: still only in a comment, though.
20946
20947 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
20948
20949         maint.mk: import changes to syntax-check macros from coreutils
20950         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
20951         Use them in the relevant macros.
20952
20953 2009-04-06  Bruno Haible  <bruno@clisp.org>
20954
20955         Fix unportable use of bit-fields.
20956         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
20957         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
20958         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
20959
20960 2009-04-06  Bruno Haible  <bruno@clisp.org>
20961
20962         Avoid test failures on AIX and OSF/1.
20963         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
20964         that malloc(0) = NULL.
20965         * tests/unicase/test-u8-tolower.c (check): Likewise.
20966         * tests/unicase/test-u8-totitle.c (check): Likewise.
20967         * tests/unicase/test-u8-toupper.c (check): Likewise.
20968         * tests/unicase/test-u16-casefold.c (check): Likewise.
20969         * tests/unicase/test-u16-tolower.c (check): Likewise.
20970         * tests/unicase/test-u16-totitle.c (check): Likewise.
20971         * tests/unicase/test-u16-toupper.c (check): Likewise.
20972         * tests/unicase/test-u32-casefold.c (check): Likewise.
20973         * tests/unicase/test-u32-tolower.c (check): Likewise.
20974         * tests/unicase/test-u32-totitle.c (check): Likewise.
20975         * tests/unicase/test-u32-toupper.c (check): Likewise.
20976         * tests/uninorm/test-u8-nfc.c (check): Likewise.
20977         * tests/uninorm/test-u8-nfd.c (check): Likewise.
20978         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
20979         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
20980         * tests/uninorm/test-u16-nfc.c (check): Likewise.
20981         * tests/uninorm/test-u16-nfd.c (check): Likewise.
20982         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
20983         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
20984         * tests/uninorm/test-u32-nfc.c (check): Likewise.
20985         * tests/uninorm/test-u32-nfd.c (check): Likewise.
20986         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
20987         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
20988
20989 2009-04-05  Bruno Haible  <bruno@clisp.org>
20990
20991         Work around an autoconf limitation.
20992         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
20993         comment line if it would be longer than 3 KB.
20994
20995 2009-04-05  Bruno Haible  <bruno@clisp.org>
20996
20997         Avoid test failure with libiconv-1.13.
20998         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
20999         of the expected test results.
21000
21001 2009-04-05  Bruno Haible  <bruno@clisp.org>
21002
21003         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
21004         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
21005         that it should be installed.
21006
21007 2009-04-05  Bruno Haible  <bruno@clisp.org>
21008
21009         * gnulib-tool: New option --copy-file.
21010         (func_usage): Document it.
21011         (func_dest_tmpfilename): Moved out of func_import.
21012         (func_add_file, func_update_file): New functions, extracted from
21013         func_import.
21014         (func_import): Update.
21015
21016 2009-04-05  Karl Berry  <karl@gnu.org>
21017
21018         * README: prominently mention gnulib-tool.
21019         Rearrange sections so getting the code is near the top.
21020
21021 2009-04-05  Bruno Haible  <bruno@clisp.org>
21022
21023         * lib/unicase.h: Mention u*_cmp2.
21024         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
21025         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
21026         * lib/unicase/ulc-casecmp.c: Likewise.
21027         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
21028         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
21029         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
21030         unistr/u8-cmp.
21031         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
21032         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
21033         unistr/u16-cmp.
21034         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
21035         unistr/u32-cmp.
21036
21037         * lib/uninorm.h: Mention u*_cmp2.
21038         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
21039         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
21040         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
21041         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
21042         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
21043         unistr/u8-cmp.
21044         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
21045         unistr/u16-cmp.
21046         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
21047         unistr/u32-cmp.
21048
21049         New module 'unistr/u32-cmp2'.
21050         * lib/unistr/u32-cmp2.c: New file.
21051         * modules/unistr/u32-cmp2: New file.
21052
21053         New module 'unistr/u16-cmp2'.
21054         * lib/unistr/u16-cmp2.c: New file.
21055         * modules/unistr/u16-cmp2: New file.
21056
21057         New module 'unistr/u8-cmp2'.
21058         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
21059         * lib/unistr/u8-cmp2.c: New file.
21060         * lib/unistr/u-cmp2.h: New file.
21061         * modules/unistr/u8-cmp2: New file.
21062
21063 2009-04-05  Bruno Haible  <bruno@clisp.org>
21064
21065         * lib/unictype.h (uc_property_is_valid): New macro.
21066         * tests/unictype/test-pr_byname.c (main): Use it.
21067
21068         * lib/unistr.h: Doc fixes.
21069         * lib/uniconv.h: Doc fixes.
21070         * lib/unictype.h: Doc fixes.
21071
21072 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
21073
21074         Port coreutils 7.2 to Solaris 8.
21075
21076         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
21077         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
21078         for Solaris 8.  This is a bit of a hack, as it means it's the
21079         caller's responsibility to add -lnsl if needed, but most likely it
21080         won't be needed since only getaddrinfo uses this and getaddrinfo
21081         isn't needed on Solaris 8.
21082
21083         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
21084         problem to Solaris 8 encountered with coreutils 7.2, which
21085         resulted in a message "fnmatch.c:292: warning: passing argument 4
21086         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
21087         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
21088
21089 2009-04-03  Simon Josefsson  <simon@josefsson.org>
21090
21091         * m4/ld-version-script.m4: Add FIXME comment.
21092
21093 2009-04-02  Simon Josefsson  <simon@josefsson.org>
21094
21095         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
21096         SOVERSION variable.
21097
21098 2009-04-02  Bruno Haible  <bruno@clisp.org>
21099
21100         * Makefile (info, html, dvi, pdf): Combine the rules.
21101         Suggested by Jim Meyering.
21102
21103 2009-04-01  Bruno Haible  <bruno@clisp.org>
21104
21105         * Makefile (info, html, dvi, pdf): New targets.
21106         Reported by Reuben Thomas <rrt@sc3d.org>.
21107
21108 2009-04-01  Bruno Haible  <bruno@clisp.org>
21109
21110         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
21111         can be put into PATH.
21112         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
21113
21114 2009-04-01  Bruno Haible  <bruno@clisp.org>
21115
21116         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
21117
21118 2009-04-01  Bruno Haible  <bruno@clisp.org>
21119
21120         Rename module 'visibility'.
21121         * modules/lib-symbol-visibility: Renamed from modules/visibility.
21122         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
21123         * doc/gnulib.texi: Update.
21124         * MODULES.html.sh (Misc): Update.
21125         * NEWS: Mention the change.
21126
21127 2009-04-01  Simon Josefsson  <simon@josefsson.org>
21128
21129         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
21130         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
21131         Eric Blake <ebb9@byu.net> for review.
21132         * MODULES.html.sh: Add lib-msvc-compat.
21133         * doc/gnulib.texi: Link to new section.
21134         * m4/ld-output-def.m4: New file.
21135         * doc/ld-output-def.texi: New file.
21136
21137 2009-04-01  Simon Josefsson  <simon@josefsson.org>
21138
21139         Rename ld-version-script to lib-symbol-versions.  Suggested by
21140         Bruno Haible <bruno@clisp.org>.
21141         * modules/ld-version-script: Renamed to lib-symbol-versions.
21142         * doc/ld-version-script.texi: Fix module name.
21143         * MODULES.html.sh: Add lib-symbol-versions.
21144
21145 2009-03-31  Simon Josefsson  <simon@josefsson.org>
21146
21147         * modules/u64-tests: New file.
21148         * tests/test-u64.c: New file.
21149
21150 2009-03-04  Simon Josefsson  <simon@josefsson.org>
21151
21152         * MODULES.html.sh: Mention u64.
21153         * modules/u64: New module.
21154         * modules/crypto/sha512: Depend on u64 module instead of providing
21155         u64.h.
21156
21157 2009-03-27  Eric Blake  <ebb9@byu.net>
21158
21159         test-strerror: make debugging EAI_SYSTEM easier
21160         * modules/getaddrinfo-tests (Depends-on): Add strerror.
21161         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
21162         failure was EAI_SYSTEM.
21163
21164 2009-03-25  Bruno Haible  <bruno@clisp.org>
21165
21166         Fix a problem with --enable-relocatable on Solaris 7.
21167         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
21168         since 2008-02-24.
21169
21170 2009-03-25  Eric Blake  <ebb9@byu.net>
21171
21172         test-sockets: avoid gcc warning
21173         * tests/test-sockets.c (main): Silence compiler warning.
21174
21175 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
21176
21177         New modules nproc, pthread, contributed by Glen Lenker.
21178
21179         * MODULES.html.sh: Add pthread, nproc.
21180         * lib/nproc.c: New file.
21181         * lib/nproc.h: New file.
21182         * lib/pthread.in.h: New file.
21183         * m4/pthread.m4: New file.
21184         * modules/nproc: New file.
21185         * modules/pthread: New file.
21186
21187 2009-03-24  Simon Josefsson  <simon@josefsson.org>
21188
21189         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
21190         New variable.
21191
21192 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
21193
21194         filevercmp: handle simple~ and numbered.~3~ backup suffixes
21195         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
21196         * tests/test-filevercmp.c: Add tests for backup suffixes.
21197
21198 2009-03-24  Simon Josefsson  <simon@josefsson.org>
21199
21200         * modules/stdlib (Depends-on): Add stdint, needed when defining
21201         struct random_data on, for example, HP-UX 10.20.  Reported by
21202         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
21203
21204 2009-03-24  Simon Josefsson  <simon@josefsson.org>
21205
21206         * lib/readline.c (readline): Call fflush on stdout after printing
21207         prompt.
21208
21209 2009-03-20  Bruno Haible  <bruno@clisp.org>
21210
21211         Remove dependency from 'close' module to -lws2_32 on native Windows.
21212         * lib/close-hook.h: New file.
21213         * lib/close-hook.c: New file.
21214         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
21215         w32sock.h.
21216         (_gl_close_fd_maybe_socket): Remove function.
21217         (rpl_close): Invoke execute_all_close_hooks instead of
21218         _gl_close_fd_maybe_socket.
21219         * lib/sockets.c: Include close-hook.h, w32sock.h.
21220         (close_fd_maybe_socket): New function, essentially from lib/close.c.
21221         (close_sockets_hook): New variable.
21222         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
21223         (gl_sockets_cleanup): Unregister it.
21224         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
21225         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
21226         * modules/close-hook: New file.
21227         * modules/close (Files): Remove lib/w32sock.h.
21228         (Depends-on): Add close-hook.
21229         (Link): Remove section.
21230         * modules/sockets (Files): Add lib/w32sock.h.
21231         (Depends-on): Add close-hook.
21232         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
21233         invocation.
21234         * NEWS: Mention that LIB_CLOSE is gone.
21235
21236 2009-03-23  Eric Blake  <ebb9@byu.net>
21237
21238         signal-tests: test previous patch
21239         * tests/test-signal.c: New file.
21240         * modules/signal-tests: Likewise.
21241
21242         signal.h: always support 'volatile sig_atomic_t'
21243         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
21244         (gl_SIGNAL_H_DEFAULTS): Add a default.
21245         * modules/signal (Makefile.am): Substitute if needed.
21246         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
21247         users can blindly add volatile.
21248         * doc/posix-headers/signal.texi (signal.h): Document it.
21249         Reported by Matthew Woehlke.
21250
21251 2009-03-23  Jim Meyering  <meyering@redhat.com>
21252
21253         pathmax: PATH_MAX: use pathconf only when available
21254         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
21255         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
21256         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
21257         This avoids a link failure in a PSP cross-compilation environment
21258         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
21259
21260         * lib/vasnprintf.c (divide): Fix typo in comment.
21261
21262 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21263
21264         * gnulib-tool (func_filter_filelist): Fix comment.
21265
21266 2009-03-20  Bruno Haible  <bruno@clisp.org>
21267
21268         Make sockets.h self-contained.
21269         * lib/sockets.c: Include sockets.h first.
21270         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
21271
21272 2009-03-19  Eric Blake  <ebb9@byu.net>
21273
21274         doc: mention more functions added in cygwin 1.7.0
21275         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
21276         addition.
21277         * doc/posix-functions/log2f.texi: Likewise.
21278
21279 2009-03-19  Jim Meyering  <meyering@redhat.com>
21280
21281         fsusage: avoid syntax error due to statement-before-declaration
21282         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
21283         after all declarations.  Reported by Matthew Woehlke in
21284         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
21285
21286 2009-03-18  Eric Blake  <ebb9@byu.net>
21287
21288         build-aux/compile: sync from automake
21289         * build-aux/compile: New file, from automake.
21290         * config/srclist.txt: Mention build-aux/compile.
21291
21292 2009-03-17  Bruno Haible  <bruno@clisp.org>
21293
21294         * lib/git-merge-changelog.c: Fix typo in comment.
21295         Reported by Reuben Thomas <rrt@sc3d.org>.
21296
21297 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
21298
21299         * m4/regex.m4: update and improve help for
21300         --without-included-regex.
21301
21302 2009-03-17  Simon Josefsson  <simon@josefsson.org>
21303
21304         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
21305         failure on missing include files.
21306
21307 2009-03-17  Eric Blake  <ebb9@byu.net>
21308
21309         doc: mention more functions added in cygwin 1.7.0
21310         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
21311         addition.
21312         * doc/posix-functions/fwscanf.texi: Likewise.
21313         * doc/posix-functions/swprintf.texi: Likewise.
21314         * doc/posix-functions/swscanf.texi: Likewise.
21315         * doc/posix-functions/vfwprintf.texi: Likewise.
21316         * doc/posix-functions/vfwscanf.texi: Likewise.
21317         * doc/posix-functions/vswprintf.texi: Likewise.
21318         * doc/posix-functions/vswscanf.texi: Likewise.
21319         * doc/posix-functions/vwprintf.texi: Likewise.
21320         * doc/posix-functions/vwscanf.texi: Likewise.
21321         * doc/posix-functions/wcscasecmp.texi: Likewise.
21322         * doc/posix-functions/wcsdup.texi: Likewise.
21323         * doc/posix-functions/wcsftime.texi: Likewise.
21324         * doc/posix-functions/wcsncasecmp.texi: Likewise.
21325         * doc/posix-functions/wprintf.texi: Likewise.
21326         * doc/posix-functions/wscanf.texi: Likewise.
21327         * doc/glibc-functions/gethostbyname2.texi: Likewise.
21328
21329 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21330
21331         maint.mk: really add $(AM_MAKEFLAGS)
21332         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
21333         was inadvertently omitted in the last commit.
21334         Spotted by Bruno Haible.
21335
21336         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
21337         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
21338         $(AM_MAKEFLAGS)' rather than plain `make'.
21339
21340         gnulib-tool: execute $MAKE not make
21341         * gnulib-tool: Default $MAKE to 'make'.
21342         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
21343         than make.  Initialize $MAKE in the do-autobuild script.
21344
21345         gnulib-tool: use $MAKE not make in generated files
21346         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
21347         make, in generated files.  Initialize $MAKE in the do-autobuild
21348         script.
21349
21350         * top/GNUmakefile (_have-git-version-gen): Fix typo.
21351
21352         GNUmakefile: disable parallelism only for multiple, recursive targets
21353         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
21354         additions in the Makefile.
21355         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
21356         by Automake.
21357         (.NOTPARALLEL): Only disable parallel builds if multiple targets
21358         are listed on the command line and at least one of them is
21359         listed in $(ALL_RECURSIVE_TARGETS).
21360
21361 2009-03-14  Bruno Haible  <bruno@clisp.org>
21362
21363         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
21364         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
21365         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
21366         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
21367         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
21368         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
21369         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
21370         unistr/u8-uctomb.
21371         * modules/unistr/u8-strchr (Depends-on): Likewise.
21372         * modules/unistr/u8-strrchr (Depends-on): Likewise.
21373         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
21374         unistr/u16-uctomb.
21375         * modules/unistr/u16-strchr (Depends-on): Likewise.
21376         * modules/unistr/u16-strrchr (Depends-on): Likewise.
21377
21378 2009-03-12  Bruno Haible  <bruno@clisp.org>
21379
21380         Work around select() bug on Interix 3.5.
21381         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
21382         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
21383         * m4/select.m4: New file.
21384         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
21385         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
21386         * modules/select (Files): Add m4/select.m4.
21387         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
21388         * modules/nanosleep (Depends-on): Add select.
21389         * modules/poll (Depends-on): Likewise.
21390         * doc/posix-functions/select.texi: Mention the Interix bug.
21391         Reported by Markus Duft <mduft@gentoo.org>.
21392
21393         * lib/select.c: Renamed from lib/winsock-select.c.
21394         * modules/select (Files): Add lib/select.c, remove
21395         lib/winsock-select.c.
21396         (configure.ac): Update.
21397
21398 2009-03-12  Jim Meyering  <meyering@redhat.com>
21399
21400         avoid gcc warnings about unused macro definitions
21401         * lib/readtokens.c (STREQ): Remove unused definition.
21402         * lib/xmalloc.c (SIZE_MAX): Likewise.
21403         * lib/openat-die.c (N_): Likewise.
21404         * lib/mountlist.c (SIZE_MAX): Remove definition.
21405         Instead, include <stdint.h>.
21406         * lib/readutmp.c: Likewise.
21407         * modules/readutmp (Depends-on): Add stdint.
21408         * modules/mountlist (Depends-on): Add stdint.
21409         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
21410
21411 2009-03-10  Bruno Haible  <bruno@clisp.org>
21412
21413         Tests for module 'mbmemcasecoll'.
21414         * modules/mbmemcasecoll-tests: New file.
21415         * tests/test-mbmemcasecoll1.sh: New file.
21416         * tests/test-mbmemcasecoll2.sh: New file.
21417         * tests/test-mbmemcasecoll3.sh: New file.
21418         * tests/test-mbmemcasecoll.c: New file.
21419
21420         New module 'mbmemcasecoll'.
21421         * lib/mbmemcasecoll.h: New file.
21422         * lib/mbmemcasecoll.c: New file.
21423         * modules/mbmemcasecoll: New file.
21424
21425         * tests/test-mbmemcasecmp.h: New file, extracted from
21426         tests/test-mbmemcasecmp.c.
21427         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
21428         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
21429         (main): Update.
21430         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
21431
21432 2009-03-09  Bruno Haible  <bruno@clisp.org>
21433
21434         Tests for module 'mbmemcasecmp'.
21435         * modules/mbmemcasecmp-tests: New file.
21436         * tests/test-mbmemcasecmp1.sh: New file.
21437         * tests/test-mbmemcasecmp2.sh: New file.
21438         * tests/test-mbmemcasecmp3.sh: New file.
21439         * tests/test-mbmemcasecmp.c: New file.
21440
21441         New module 'mbmemcasecmp'.
21442         * lib/mbmemcasecmp.h: New file.
21443         * lib/mbmemcasecmp.c: New file.
21444         * modules/mbmemcasecmp: New file.
21445
21446 2009-03-09  Bruno Haible  <bruno@clisp.org>
21447
21448         Tests for module 'unicase/ulc-casecoll'.
21449         * modules/unicase/ulc-casecoll-tests: New file.
21450         * tests/unicase/test-ulc-casecoll1.sh: New file.
21451         * tests/unicase/test-ulc-casecoll2.sh: New file.
21452         * tests/unicase/test-ulc-casecoll.c: New file.
21453
21454         New module 'unicase/ulc-casecoll'.
21455         * lib/unicase.h (ulc_casecoll): New declaration.
21456         * lib/unicase/ulc-casecoll.c: New file.
21457         * modules/unicase/ulc-casecoll: New file.
21458
21459         New module 'unicase/ulc-casexfrm'.
21460         * lib/unicase.h (ulc_casexfrm): New declaration.
21461         * lib/unicase/ulc-casexfrm.c: New file.
21462         * modules/unicase/ulc-casexfrm: New file.
21463
21464 2009-03-09  Bruno Haible  <bruno@clisp.org>
21465
21466         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
21467         invocations.
21468
21469         * m4/mbscasecmp.m4: Remove file.
21470         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
21471         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
21472
21473         * m4/mbscasestr.m4: Remove file.
21474         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
21475         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
21476
21477         * m4/mbschr.m4: Remove file.
21478         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
21479         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
21480
21481         * m4/mbscspn.m4: Remove file.
21482         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
21483         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
21484
21485         * m4/mbslen.m4: Remove file.
21486         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
21487         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
21488
21489         * m4/mbsncasecmp.m4: Remove file.
21490         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
21491         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
21492
21493         * m4/mbsnlen.m4: Remove file.
21494         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
21495         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
21496
21497         * m4/mbspbrk.m4: Remove file.
21498         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
21499         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
21500
21501         * m4/mbspcasecmp.m4: Remove file.
21502         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
21503         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
21504
21505         * m4/mbsrchr.m4: Remove file.
21506         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
21507         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
21508
21509         * m4/mbssep.m4: Remove file.
21510         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
21511         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
21512
21513         * m4/mbsspn.m4: Remove file.
21514         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
21515         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
21516
21517         * m4/mbsstr.m4: Remove file.
21518         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
21519         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
21520
21521         * m4/mbstok_r.m4: Remove file.
21522         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
21523         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
21524
21525         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
21526
21527         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
21528         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
21529
21530         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
21531
21532 2009-03-08  Bruno Haible  <bruno@clisp.org>
21533
21534         Tests for module 'unicase/ulc-casecmp'.
21535         * modules/unicase/ulc-casecmp-tests: New file.
21536         * tests/unicase/test-ulc-casecmp1.sh: New file.
21537         * tests/unicase/test-ulc-casecmp2.sh: New file.
21538         * tests/unicase/test-ulc-casecmp.c: New file.
21539
21540         New module 'unicase/ulc-casecmp'.
21541         * lib/unicase.h (ulc_casecmp): New declaration.
21542         * lib/unicase/ulc-casecmp.c: New file.
21543         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
21544         'const SRC_UNIT *'.
21545         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
21546         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
21547         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
21548         * modules/unicase/ulc-casecmp: New file.
21549
21550         Tests for module 'unicase/u32-is-cased'.
21551         * modules/unicase/u32-is-cased-tests: New file.
21552         * tests/unicase/test-u32-is-cased.c: New file.
21553
21554         Tests for module 'unicase/u16-is-cased'.
21555         * modules/unicase/u16-is-cased-tests: New file.
21556         * tests/unicase/test-u16-is-cased.c: New file.
21557
21558         Tests for module 'unicase/u8-is-cased'.
21559         * modules/unicase/u8-is-cased-tests: New file.
21560         * tests/unicase/test-u8-is-cased.c: New file.
21561         * tests/unicase/test-is-cased.h: New file.
21562
21563         New module 'unicase/u32-is-cased'.
21564         * lib/unicase/u32-is-cased.c: New file.
21565         * modules/unicase/u32-is-cased: New file.
21566
21567         New module 'unicase/u16-is-cased'.
21568         * lib/unicase/u16-is-cased.c: New file.
21569         * modules/unicase/u16-is-cased: New file.
21570
21571         New module 'unicase/u8-is-cased'.
21572         * lib/unicase/u8-is-cased.c: New file.
21573         * lib/unicase/u-is-cased.h: New file.
21574         * modules/unicase/u8-is-cased: New file.
21575
21576         Tests for module 'unicase/u32-is-casefolded'.
21577         * modules/unicase/u32-is-casefolded-tests: New file.
21578         * tests/unicase/test-u32-is-casefolded.c: New file.
21579
21580         Tests for module 'unicase/u16-is-casefolded'.
21581         * modules/unicase/u16-is-casefolded-tests: New file.
21582         * tests/unicase/test-u16-is-casefolded.c: New file.
21583
21584         Tests for module 'unicase/u8-is-casefolded'.
21585         * modules/unicase/u8-is-casefolded-tests: New file.
21586         * tests/unicase/test-u8-is-casefolded.c: New file.
21587         * tests/unicase/test-is-casefolded.h: New file.
21588
21589         New module 'unicase/u32-is-casefolded'.
21590         * lib/unicase/u32-is-casefolded.c: New file.
21591         * modules/unicase/u32-is-casefolded: New file.
21592
21593         New module 'unicase/u16-is-casefolded'.
21594         * lib/unicase/u16-is-casefolded.c: New file.
21595         * modules/unicase/u16-is-casefolded: New file.
21596
21597         New module 'unicase/u8-is-casefolded'.
21598         * lib/unicase/u8-is-casefolded.c: New file.
21599         * modules/unicase/u8-is-casefolded: New file.
21600
21601         Tests for module 'unicase/u32-is-titlecase'.
21602         * modules/unicase/u32-is-titlecase-tests: New file.
21603         * tests/unicase/test-u32-is-titlecase.c: New file.
21604
21605         Tests for module 'unicase/u16-is-titlecase'.
21606         * modules/unicase/u16-is-titlecase-tests: New file.
21607         * tests/unicase/test-u16-is-titlecase.c: New file.
21608
21609         Tests for module 'unicase/u8-is-titlecase'.
21610         * modules/unicase/u8-is-titlecase-tests: New file.
21611         * tests/unicase/test-u8-is-titlecase.c: New file.
21612         * tests/unicase/test-is-titlecase.h: New file.
21613
21614         New module 'unicase/u32-is-titlecase'.
21615         * lib/unicase/u32-is-titlecase.c: New file.
21616         * modules/unicase/u32-is-titlecase: New file.
21617
21618         New module 'unicase/u16-is-titlecase'.
21619         * lib/unicase/u16-is-titlecase.c: New file.
21620         * modules/unicase/u16-is-titlecase: New file.
21621
21622         New module 'unicase/u8-is-titlecase'.
21623         * lib/unicase/u8-is-titlecase.c: New file.
21624         * modules/unicase/u8-is-titlecase: New file.
21625
21626         Tests for module 'unicase/u32-is-lowercase'.
21627         * modules/unicase/u32-is-lowercase-tests: New file.
21628         * tests/unicase/test-u32-is-lowercase.c: New file.
21629
21630         Tests for module 'unicase/u16-is-lowercase'.
21631         * modules/unicase/u16-is-lowercase-tests: New file.
21632         * tests/unicase/test-u16-is-lowercase.c: New file.
21633
21634         Tests for module 'unicase/u8-is-lowercase'.
21635         * modules/unicase/u8-is-lowercase-tests: New file.
21636         * tests/unicase/test-u8-is-lowercase.c: New file.
21637         * tests/unicase/test-is-lowercase.h: New file.
21638
21639         New module 'unicase/u32-is-lowercase'.
21640         * lib/unicase/u32-is-lowercase.c: New file.
21641         * modules/unicase/u32-is-lowercase: New file.
21642
21643         New module 'unicase/u16-is-lowercase'.
21644         * lib/unicase/u16-is-lowercase.c: New file.
21645         * modules/unicase/u16-is-lowercase: New file.
21646
21647         New module 'unicase/u8-is-lowercase'.
21648         * lib/unicase/u8-is-lowercase.c: New file.
21649         * modules/unicase/u8-is-lowercase: New file.
21650
21651         Tests for module 'unicase/u32-is-uppercase'.
21652         * modules/unicase/u32-is-uppercase-tests: New file.
21653         * tests/unicase/test-u32-is-uppercase.c: New file.
21654
21655         Tests for module 'unicase/u16-is-uppercase'.
21656         * modules/unicase/u16-is-uppercase-tests: New file.
21657         * tests/unicase/test-u16-is-uppercase.c: New file.
21658
21659         Tests for module 'unicase/u8-is-uppercase'.
21660         * modules/unicase/u8-is-uppercase-tests: New file.
21661         * tests/unicase/test-u8-is-uppercase.c: New file.
21662         * tests/unicase/test-is-uppercase.h: New file.
21663
21664         New module 'unicase/u32-is-uppercase'.
21665         * lib/unicase/u32-is-uppercase.c: New file.
21666         * modules/unicase/u32-is-uppercase: New file.
21667
21668         New module 'unicase/u16-is-uppercase'.
21669         * lib/unicase/u16-is-uppercase.c: New file.
21670         * modules/unicase/u16-is-uppercase: New file.
21671
21672         New module 'unicase/u8-is-uppercase'.
21673         * lib/unicase/u8-is-uppercase.c: New file.
21674         * modules/unicase/u8-is-uppercase: New file.
21675
21676         New module 'unicase/u32-is-invariant'.
21677         * lib/unicase/u32-is-invariant.c: New file.
21678         * modules/unicase/u32-is-invariant: New file.
21679
21680         New module 'unicase/u16-is-invariant'.
21681         * lib/unicase/u16-is-invariant.c: New file.
21682         * modules/unicase/u16-is-invariant: New file.
21683
21684         New module 'unicase/u8-is-invariant'.
21685         * lib/unicase/u8-is-invariant.c: New file.
21686         * lib/unicase/invariant.h: New file.
21687         * lib/unicase/u-is-invariant.h: New file.
21688         * modules/unicase/u8-is-invariant: New file.
21689
21690         Tests for module 'unicase/u32-casecoll'.
21691         * modules/unicase/u32-casecoll-tests: New file.
21692         * tests/unicase/test-u32-casecoll.c: New file.
21693
21694         Tests for module 'unicase/u16-casecoll'.
21695         * modules/unicase/u16-casecoll-tests: New file.
21696         * tests/unicase/test-u16-casecoll.c: New file.
21697
21698         Tests for module 'unicase/u8-casecoll'.
21699         * modules/unicase/u8-casecoll-tests: New file.
21700         * tests/unicase/test-u8-casecoll.c: New file.
21701
21702         New module 'unicase/u32-casecoll'.
21703         * lib/unicase/u32-casecoll.c: New file.
21704         * modules/unicase/u32-casecoll: New file.
21705
21706         New module 'unicase/u16-casecoll'.
21707         * lib/unicase/u16-casecoll.c: New file.
21708         * modules/unicase/u16-casecoll: New file.
21709
21710         New module 'unicase/u8-casecoll'.
21711         * lib/unicase/u8-casecoll.c: New file.
21712         * lib/unicase/u-casecoll.h: New file.
21713         * modules/unicase/u8-casecoll: New file.
21714
21715         New module 'unicase/u32-casexfrm'.
21716         * lib/unicase/u32-casexfrm.c: New file.
21717         * modules/unicase/u32-casexfrm: New file.
21718
21719         New module 'unicase/u16-casexfrm'.
21720         * lib/unicase/u16-casexfrm.c: New file.
21721         * modules/unicase/u16-casexfrm: New file.
21722
21723         New module 'unicase/u8-casexfrm'.
21724         * lib/unicase/u8-casexfrm.c: New file.
21725         * lib/unicase/u-casexfrm.h: New file.
21726         * modules/unicase/u8-casexfrm: New file.
21727
21728         Tests for module 'unicase/u32-casecmp'.
21729         * modules/unicase/u32-casecmp-tests: New file.
21730         * tests/unicase/test-u32-casecmp.c: New file.
21731
21732         Tests for module 'unicase/u16-casecmp'.
21733         * modules/unicase/u16-casecmp-tests: New file.
21734         * tests/unicase/test-u16-casecmp.c: New file.
21735
21736         Tests for module 'unicase/u8-casecmp'.
21737         * modules/unicase/u8-casecmp-tests: New file.
21738         * tests/unicase/test-u8-casecmp.c: New file.
21739         * tests/unicase/test-casecmp.h: New file.
21740
21741         New module 'unicase/u32-casecmp'.
21742         * lib/unicase/u32-casecmp.c: New file.
21743         * modules/unicase/u32-casecmp: New file.
21744
21745         New module 'unicase/u16-casecmp'.
21746         * lib/unicase/u16-casecmp.c: New file.
21747         * modules/unicase/u16-casecmp: New file.
21748
21749         New module 'unicase/u8-casecmp'.
21750         * lib/unicase/u8-casecmp.c: New file.
21751         * lib/unicase/u-casecmp.h: New file.
21752         * modules/unicase/u8-casecmp: New file.
21753
21754         Tests for module 'unicase/u32-casefold'.
21755         * modules/unicase/u32-casefold-tests: New file.
21756         * tests/unicase/test-u32-casefold.c: New file.
21757
21758         Tests for module 'unicase/u16-casefold'.
21759         * modules/unicase/u16-casefold-tests: New file.
21760         * tests/unicase/test-u16-casefold.c: New file.
21761
21762         Tests for module 'unicase/u8-casefold'.
21763         * modules/unicase/u8-casefold-tests: New file.
21764         * tests/unicase/test-u8-casefold.c: New file.
21765
21766         New module 'unicase/u32-casefold'.
21767         * lib/unicase/u32-casefold.c: New file.
21768         * modules/unicase/u32-casefold: New file.
21769
21770         New module 'unicase/u16-casefold'.
21771         * lib/unicase/u16-casefold.c: New file.
21772         * modules/unicase/u16-casefold: New file.
21773
21774         New module 'unicase/u8-casefold'.
21775         * lib/unicase/u8-casefold.c: New file.
21776         * lib/unicase/u-casefold.h: New file.
21777         * modules/unicase/u8-casefold: New file.
21778
21779         New module 'unicase/tocasefold'.
21780         * lib/unicase/casefold.h: New file.
21781         * lib/unicase/tocasefold.c: New file.
21782         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
21783         * modules/unicase/tocasefold: New file.
21784
21785         Tests for module 'unicase/u32-totitle'.
21786         * modules/unicase/u32-totitle-tests: New file.
21787         * tests/unicase/test-u32-totitle.c: New file.
21788
21789         Tests for module 'unicase/u16-totitle'.
21790         * modules/unicase/u16-totitle-tests: New file.
21791         * tests/unicase/test-u16-totitle.c: New file.
21792
21793         Tests for module 'unicase/u8-totitle'.
21794         * modules/unicase/u8-totitle-tests: New file.
21795         * tests/unicase/test-u8-totitle.c: New file.
21796
21797         New module 'unicase/u32-totitle'.
21798         * lib/unicase/u32-totitle.c: New file.
21799         * modules/unicase/u32-totitle: New file.
21800
21801         New module 'unicase/u16-totitle'.
21802         * lib/unicase/u16-totitle.c: New file.
21803         * modules/unicase/u16-totitle: New file.
21804
21805         New module 'unicase/u8-totitle'.
21806         * lib/unicase/u8-totitle.c: New file.
21807         * lib/unicase/u-totitle.h: New file.
21808         * modules/unicase/u8-totitle: New file.
21809
21810         Tests for module 'unicase/u32-tolower'.
21811         * modules/unicase/u32-tolower-tests: New file.
21812         * tests/unicase/test-u32-tolower.c: New file.
21813
21814         Tests for module 'unicase/u16-tolower'.
21815         * modules/unicase/u16-tolower-tests: New file.
21816         * tests/unicase/test-u16-tolower.c: New file.
21817
21818         Tests for module 'unicase/u8-tolower'.
21819         * modules/unicase/u8-tolower-tests: New file.
21820         * tests/unicase/test-u8-tolower.c: New file.
21821
21822         New module 'unicase/u32-tolower'.
21823         * lib/unicase/u32-tolower.c: New file.
21824         * modules/unicase/u32-tolower: New file.
21825
21826         New module 'unicase/u16-tolower'.
21827         * lib/unicase/u16-tolower.c: New file.
21828         * modules/unicase/u16-tolower: New file.
21829
21830         New module 'unicase/u8-tolower'.
21831         * lib/unicase/u8-tolower.c: New file.
21832         * modules/unicase/u8-tolower: New file.
21833
21834         Tests for module 'unicase/u32-toupper'.
21835         * modules/unicase/u32-toupper-tests: New file.
21836         * tests/unicase/test-u32-toupper.c: New file.
21837
21838         Tests for module 'unicase/u16-toupper'.
21839         * modules/unicase/u16-toupper-tests: New file.
21840         * tests/unicase/test-u16-toupper.c: New file.
21841
21842         Tests for module 'unicase/u8-toupper'.
21843         * modules/unicase/u8-toupper-tests: New file.
21844         * tests/unicase/test-u8-toupper.c: New file.
21845
21846         New module 'unicase/u32-toupper'.
21847         * lib/unicase/u32-toupper.c: New file.
21848         * modules/unicase/u32-toupper: New file.
21849
21850         New module 'unicase/u16-toupper'.
21851         * lib/unicase/u16-toupper.c: New file.
21852         * modules/unicase/u16-toupper: New file.
21853
21854         New module 'unicase/u8-toupper'.
21855         * lib/unicase/u8-toupper.c: New file.
21856         * modules/unicase/u8-toupper: New file.
21857
21858         New module 'unicase/u32-casemap'.
21859         * lib/unicase/u32-casemap.c: New file.
21860         * modules/unicase/u32-casemap: New file.
21861
21862         New module 'unicase/u16-casemap'.
21863         * lib/unicase/u16-casemap.c: New file.
21864         * modules/unicase/u16-casemap: New file.
21865
21866         New module 'unicase/u8-casemap'.
21867         * lib/unicase/unicasemap.h: New file.
21868         * lib/unicase/u8-casemap.c: New file.
21869         * lib/unicase/u-casemap.h: New file.
21870         * modules/unicase/u8-casemap: New file.
21871
21872         New module 'unicase/special-casing'.
21873         * lib/unicase/special-casing.h: New file.
21874         * lib/unicase/special-casing.c: New file.
21875         * lib/unicase/special-casing-table.gperf: New file, generated by
21876         gen-uni-tables.c.
21877         * modules/unicase/special-casing: New file.
21878
21879         Tests for module 'unicase/locale-language'.
21880         * modules/unicase/locale-language-tests: New file.
21881         * tests/unicase/test-locale-language.sh: New file.
21882         * tests/unicase/test-locale-language.c: New file.
21883
21884         New module 'unicase/locale-language'.
21885         * lib/unicase/locale-language.c: New file.
21886         * lib/unicase/locale-languages.gperf: New file.
21887         * modules/unicase/locale-language: New file.
21888
21889         Generate more tables for case conversion and case folding.
21890         * lib/gen-uni-tables.c (SCC_*): New enum items.
21891         (struct special_casing_rule): New type.
21892         (casing_rules, num_casing_rules, allocated_casing_rules): New
21893         variables.
21894         (add_casing_rule, fill_casing_rules): New functions.
21895         (struct casefold_rule): New type.
21896         (casefolding_rules, num_casefolding_rules,
21897         allocated_casefolding_rules): New variables.
21898         (fill_casefolding_rules): New function.
21899         (unicode_casefold): New variable.
21900         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
21901         sort_casing_rules, output_casing_rules): New functions.
21902         (main): Accept to more arguments: SpecialCasing.txt and
21903         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
21904         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
21905         Output mapping for casefolding.
21906
21907         * lib/unicase.h: Include stdbool.h, uninorm.h.
21908         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
21909         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
21910         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
21911         arguments.
21912         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
21913         resultp arguments.
21914         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
21915         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
21916         resultp arguments.
21917         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
21918         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
21919         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
21920         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
21921         declarations.
21922         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
21923
21924 2009-03-08  Bruno Haible  <bruno@clisp.org>
21925
21926         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
21927         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
21928         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
21929         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
21930
21931 2009-03-07  Bruno Haible  <bruno@clisp.org>
21932
21933         Adjust u*_normcmp, u*_normcoll API.
21934         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
21935         u16_normcoll, u32_normcoll): Change failure conventions.
21936         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
21937         errno and return -1.
21938         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
21939
21940 2009-03-07  Bruno Haible  <bruno@clisp.org>
21941
21942         Tests for module 'uninorm/u32-normcoll'.
21943         * modules/uninorm/u32-normcoll-tests: New file.
21944         * tests/uninorm/test-u32-normcoll.c: New file.
21945
21946         Tests for module 'uninorm/u16-normcoll'.
21947         * modules/uninorm/u16-normcoll-tests: New file.
21948         * tests/uninorm/test-u16-normcoll.c: New file.
21949
21950         Tests for module 'uninorm/u8-normcoll'.
21951         * modules/uninorm/u8-normcoll-tests: New file.
21952         * tests/uninorm/test-u8-normcoll.c: New file.
21953
21954 2009-03-07  Bruno Haible  <bruno@clisp.org>
21955
21956         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
21957         tests/uninorm/test-u32-normcmp.c.
21958         * tests/uninorm/test-u32-normcmp.c: Include it.
21959         (test_nonascii): New function, extracted from main. Add some more
21960         tests.
21961         (main): Invoke test_ascii and test_nonascii.
21962         * modules/uninorm/u32-normcmp-tests (Files): Add
21963         tests/uninorm/test-u32-normcmp.h.
21964         (Depends-on): Remove uninorm/u32-normcmp.
21965
21966         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
21967         tests/uninorm/test-u16-normcmp.c.
21968         * tests/uninorm/test-u16-normcmp.c: Include it.
21969         (test_nonascii): New function, extracted from main. Add some more
21970         tests.
21971         (main): Invoke test_ascii and test_nonascii.
21972         * modules/uninorm/u16-normcmp-tests (Files): Add
21973         tests/uninorm/test-u16-normcmp.h.
21974         (Depends-on): Remove uninorm/u16-normcmp.
21975
21976         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
21977         tests/uninorm/test-u8-normcmp.c.
21978         * tests/uninorm/test-u8-normcmp.c: Include it.
21979         (test_nonascii): New function, extracted from main. Add some more
21980         tests.
21981         (main): Invoke test_ascii and test_nonascii.
21982         * modules/uninorm/u8-normcmp-tests (Files): Add
21983         tests/uninorm/test-u8-normcmp.h.
21984         (Depends-on): Remove uninorm/u8-normcmp.
21985
21986 2009-03-07  Bruno Haible  <bruno@clisp.org>
21987
21988         New module 'uninorm/u32-normcoll'.
21989         * lib/uninorm/u32-normcoll.c: New file.
21990         * modules/uninorm/u32-normcoll: New file.
21991
21992         New module 'uninorm/u16-normcoll'.
21993         * lib/uninorm/u16-normcoll.c: New file.
21994         * modules/uninorm/u16-normcoll: New file.
21995
21996         New module 'uninorm/u8-normcoll'.
21997         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
21998         declarations.
21999         * lib/uninorm/u8-normcoll.c: New file.
22000         * lib/uninorm/u-normcoll.h: New file.
22001         * modules/uninorm/u8-normcoll: New file.
22002
22003         New module 'uninorm/u32-normxfrm'.
22004         * lib/uninorm/u32-normxfrm.c: New file.
22005         * modules/uninorm/u32-normxfrm: New file.
22006
22007         New module 'uninorm/u16-normxfrm'.
22008         * lib/uninorm/u16-normxfrm.c: New file.
22009         * modules/uninorm/u16-normxfrm: New file.
22010
22011         New module 'uninorm/u8-normxfrm'.
22012         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
22013         declarations.
22014         * lib/uninorm/u8-normxfrm.c: New file.
22015         * lib/uninorm/u-normxfrm.h: New file.
22016         * modules/uninorm/u8-normxfrm: New file.
22017
22018 2009-03-07  Bruno Haible  <bruno@clisp.org>
22019
22020         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
22021         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
22022         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
22023
22024 2009-03-07  Bruno Haible  <bruno@clisp.org>
22025
22026         New module 'memxfrm'.
22027         * lib/memxfrm.h: New file.
22028         * lib/memxfrm.c: New file.
22029         * modules/memxfrm: New file.
22030
22031 2009-03-07  Bruno Haible  <bruno@clisp.org>
22032
22033         New module 'memcmp2'.
22034         * lib/memcmp2.h: New file.
22035         * lib/memcmp2.c: New file.
22036         * modules/memcmp2: New file.
22037
22038 2009-03-07  Bruno Haible  <bruno@clisp.org>
22039
22040         Tests for module 'uninorm/decomposing-form'.
22041         * modules/uninorm/decomposing-form-tests: New file.
22042         * tests/uninorm/test-decomposing-form.c: New file.
22043
22044         New module 'uninorm/decomposing-form'.
22045         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
22046         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
22047         Add 'decomposing_variant' field.
22048         * lib/uninorm/decomposing-form.c: New file.
22049         * lib/uninorm/nfc.c (uninorm_nfc): Update.
22050         * lib/uninorm/nfd.c (uninorm_nfd): Update.
22051         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
22052         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
22053         * modules/uninorm/decomposing-form: New file.
22054         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
22055         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
22056
22057 2009-03-07  Bruno Haible  <bruno@clisp.org>
22058
22059         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
22060         strings.
22061
22062 2009-03-06  Bruno Haible  <bruno@clisp.org>
22063
22064         Tests for module 'uninorm/u32-normcmp'.
22065         * tests/uninorm/test-u32-normcmp.c: New file.
22066         * modules/uninorm/u32-normcmp-tests: New file.
22067
22068         Tests for module 'uninorm/u16-normcmp'.
22069         * tests/uninorm/test-u16-normcmp.c: New file.
22070         * modules/uninorm/u16-normcmp-tests: New file.
22071
22072         Tests for module 'uninorm/u8-normcmp'.
22073         * tests/uninorm/test-u8-normcmp.c: New file.
22074         * modules/uninorm/u8-normcmp-tests: New file.
22075
22076         New module 'uninorm/u32-normcmp'.
22077         * lib/uninorm/u32-normcmp.c: New file.
22078         * modules/uninorm/u32-normcmp: New file.
22079
22080         New module 'uninorm/u16-normcmp'.
22081         * lib/uninorm/u16-normcmp.c: New file.
22082         * modules/uninorm/u16-normcmp: New file.
22083
22084         New module 'uninorm/u8-normcmp'.
22085         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
22086         declarations.
22087         * lib/uninorm/u8-normcmp.c: New file.
22088         * lib/uninorm/u-normcmp.h: New file.
22089         * modules/uninorm/u8-normcmp: New file.
22090
22091 2009-03-06  Bruno Haible  <bruno@clisp.org>
22092
22093         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
22094         Reported by Eric Blake.
22095
22096 2009-03-06  Eric Blake  <ebb9@byu.net>
22097             Bruno Haible  <bruno@clisp.org>
22098
22099         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
22100         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
22101         condition.
22102         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
22103         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
22104         condition.
22105         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
22106
22107 2009-03-06  Eric Blake  <ebb9@byu.net>
22108
22109         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
22110         to avoid compiler warnings.
22111         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
22112
22113 2009-03-05  Bruno Haible  <bruno@clisp.org>
22114
22115         * tests/test-ftell.c (main): Disable test beyond end of file on
22116         FreeMiNT.
22117         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
22118
22119 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
22120
22121         * lib/filevercmp.c: Move hidden files up in ordering.
22122         * tests/test-filevercmp.c: Add tests for hidden files.
22123
22124 2009-03-04  Bruno Haible  <bruno@clisp.org>
22125
22126         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
22127         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
22128         AM_CFLAGS.
22129         Reported by Simon Josefsson.
22130
22131 2009-03-03  Bruno Haible  <bruno@clisp.org>
22132
22133         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
22134         Reported by Simon Josefsson.
22135
22136         * doc/ld-version-script.texi: Update node reference.
22137
22138 2009-03-03  Bruno Haible  <bruno@clisp.org>
22139
22140         * modules/visibility (License): Change to 'unlimited'.
22141         Suggested by Simon Josefsson.
22142
22143 2009-03-03  Jim Meyering  <meyering@redhat.com>
22144
22145         unlinkdir: cannot_unlink_dir may modify process state
22146         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
22147         it's neither thread-safe nor appropriate for use in a library.
22148
22149 2009-03-03  Eric Blake  <ebb9@byu.net>
22150
22151         test-closein: silence test under Darwin
22152         * tests/test-closein.sh: Ignore stderr from cat, since we don't
22153         care if it dies from EPIPE or EBADF.
22154
22155 2009-03-03  Bruno Haible  <bruno@clisp.org>
22156
22157         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
22158         earlier.
22159         * doc/visibility.texi: Fix @node and @section.
22160
22161 2009-03-03  Simon Josefsson  <simon@josefsson.org>
22162
22163         * doc/gnulib.texi: Link to sections for ld version script and
22164         visibility.
22165         * doc/visibility.texi: Add @node and @section.
22166         * modules/ld-version-script: New module.
22167         * m4/ld-version-script.m4: New file.
22168         * doc/ld-version-script.texi: New file.
22169
22170 2009-03-02  David Lutterkort  <lutter@redhat.com>
22171
22172         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
22173         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
22174
22175 2009-03-02  Bruno Haible  <bruno@clisp.org>
22176
22177         * doc/visibility.texi: Mention libtool's -export-symbols option.
22178
22179 2009-03-02  Jim Meyering  <meyering@redhat.com>
22180
22181         announce-gen: new option: --no-print-checksums
22182         * build-aux/announce-gen (usage): Describe it.
22183         (print_checksums): Print a newline here, not in the [*] footnote.
22184         (main): Honor it.
22185
22186 2009-03-01  Bruno Haible  <bruno@clisp.org>
22187
22188         Use socklen_t in the native Windows replacements prototypes.
22189         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
22190         instead of 'int'.
22191         * lib/getsockopt.c (rpl_getsockopt): Likewise.
22192         * lib/setsockopt.c (rpl_setsockopt): Likewise.
22193         * modules/getsockopt (Depends-on): Add socklen.
22194         * modules/setsockopt (Depends-on): Add socklen.
22195
22196 2009-03-01  Bruno Haible  <bruno@clisp.org>
22197
22198         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
22199         least 4.2.
22200
22201 2009-03-01  Eric Blake  <ebb9@byu.net>
22202             Bruno Haible  <bruno@clisp.org>
22203
22204         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
22205         error messages.
22206         * lib/wait-process.c (wait_subprocess): Omit error message about
22207         deadly signal sent to the child of termsigp != NULL.
22208
22209 2009-03-01  Eric Blake  <ebb9@byu.net>
22210
22211         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
22212
22213 2009-03-01  Bruno Haible  <bruno@clisp.org>
22214
22215         Avoid a gcc warning.
22216         * tests/test-sched.c (b): Make global.
22217         Reported by Eric Blake.
22218
22219 2009-01-19  Martin Lambers  <marlam@marlam.de>
22220
22221         Provide POSIX semantics for socket timeout options on W32.
22222         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
22223         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
22224         * modules/setsockopt: Depend on sys_time module for struct timeval.
22225         * modules/getsockopt: Depend on sys_time module for struct timeval.
22226
22227 2009-03-01  Simon Josefsson  <simon@josefsson.org>
22228
22229         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
22230         __USE_GNU, for consistency with netdb.in.h.
22231         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
22232
22233 2009-03-01  Bruno Haible  <bruno@clisp.org>
22234
22235         More support for FreeMiNT.
22236         * lib/fseeko.c (rpl_fseeko): Complete last commit.
22237         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
22238
22239 2009-03-01  Bruno Haible  <bruno@clisp.org>
22240
22241         More support for FreeMiNT.
22242         * lib/fpurge.c (fpurge): Correct last commit.
22243         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
22244
22245 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22246
22247         Fix unportable awk script in vc-list-files.
22248         * build-aux/vc-list-files: In the replacement awk script, use
22249         substr with a second argument of 1, not zero.
22250         Report by Simon Josefsson.
22251
22252 2009-02-28  Bruno Haible  <bruno@clisp.org>
22253
22254         More support for FreeMiNT.
22255         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
22256         to FreeMiNT today.
22257         * lib/fwriting.c (fwriting): Likewise.
22258         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
22259
22260 2009-02-28  Bruno Haible  <bruno@clisp.org>
22261
22262         * tests/test-freadseek.c (main): Disable test beyond end of file on
22263         FreeMiNT.
22264         * tests/test-ftello.c (main): Likewise.
22265         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
22266
22267 2009-02-28  Bruno Haible  <bruno@clisp.org>
22268
22269         Add tentative support for FreeMiNT.
22270         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
22271         * lib/fpurge.c (fpurge): Likewise.
22272         * lib/freadable.c (freadable): Likewise.
22273         * lib/freading.c (freading): Likewise.
22274         * lib/freadptr.c (freadptr): Likewise.
22275         * lib/freadseek.c (freadptrinc): Likewise.
22276         * lib/fseeko.c (rpl_fseeko): Likewise.
22277         * lib/fseterr.c (fseterr): Likewise.
22278         * lib/fwritable.c (fwritable): Likewise.
22279         * lib/fwriting.c (fwriting): Likewise.
22280         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
22281         Hourihane.
22282         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
22283
22284 2009-02-28  Bruno Haible  <bruno@clisp.org>
22285
22286         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
22287         SIGCHLD.
22288         Reported by Jim Meyering.
22289
22290 2009-02-28  Bruno Haible  <bruno@clisp.org>
22291
22292         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
22293         Mention the results of these tests on various platforms.
22294         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
22295         order.
22296         * doc/posix-functions/printf.texi: Likewise.
22297         * doc/posix-functions/snprintf.texi: Likewise.
22298         * doc/posix-functions/sprintf.texi: Likewise.
22299         * doc/posix-functions/vfprintf.texi: Likewise.
22300         * doc/posix-functions/vprintf.texi: Likewise.
22301         * doc/posix-functions/vsnprintf.texi: Likewise.
22302         * doc/posix-functions/vsprintf.texi: Likewise.
22303         * doc/glibc-functions/obstack_printf.texi: Likewise.
22304         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
22305
22306 2009-02-28  Bruno Haible  <bruno@clisp.org>
22307
22308         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
22309         Reported by Loïc Minier <lool@dooz.org>.
22310
22311 2009-02-27  Bruno Haible  <bruno@clisp.org>
22312
22313         * gnulib-tool (func_import): Make the sed expression used to create the
22314         sed script for updating the .gitignore file POSIX compliant.
22315         Reported by Eric Blake.
22316
22317 2009-02-27  Bruno Haible  <bruno@clisp.org>
22318
22319         * gnulib-tool (sed): Don't alias as "sed --posix".
22320         Reported by Eric Blake.
22321
22322 2009-02-27  Bruno Haible  <bruno@clisp.org>
22323
22324         Avoid test link errors.
22325         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
22326         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
22327         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
22328         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
22329         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
22330
22331 2009-02-27  Bruno Haible  <bruno@clisp.org>
22332
22333         Avoid spurious "(cached)" in configure output.
22334         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
22335         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
22336         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
22337         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
22338         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
22339         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
22340         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
22341         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
22342         Reported by Eric Blake.
22343
22344 2009-02-27  Eric Blake  <ebb9@byu.net>
22345
22346         printf: fix regression in previous patch
22347         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
22348
22349 2009-02-27  Bruno Haible  <bruno@clisp.org>
22350
22351         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
22352         value.
22353         * lib/stdint.in.h: Likewise.
22354         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
22355
22356 2009-02-27  Eric Blake  <ebb9@byu.net>
22357
22358         doc: mention more functions added in cygwin 1.7.0
22359         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
22360         addition.
22361         * doc/posix-functions/open_wmemstream.texi: Likewise.
22362         * doc/posix-functions/wcsnlen.texi: Likewise.
22363         * doc/posix-functions/wcsnrtombs.texi: Likewise.
22364         * doc/posix-functions/wcstod.texi: Likewise.
22365         * doc/posix-functions/wcstof.texi: Likewise.
22366         * doc/posix-functions/wcstoimax.texi: Likewise.
22367         * doc/posix-functions/wcstok.texi: Likewise.
22368         * doc/posix-functions/wcstoumax.texi: Likewise.
22369
22370         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
22371         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
22372         * doc/posix-functions/fprintf.texi: Update.
22373         * doc/posix-functions/printf.texi: Update.
22374         * doc/posix-functions/snprintf.texi: Update.
22375         * doc/posix-functions/sprintf.texi: Update.
22376         * doc/posix-functions/vfprintf.texi: Update.
22377         * doc/posix-functions/vprintf.texi: Update.
22378         * doc/posix-functions/vsnprintf.texi: Update.
22379         * doc/posix-functions/vsprintf.texi: Update.
22380         * doc/glibc-functions/obstack_printf.texi: Update.
22381         * doc/glibc-functions/obstack_vprintf.texi: Update.
22382
22383 2009-02-26  Eric Blake  <ebb9@byu.net>
22384
22385         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
22386         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
22387         compilation bug by using runtime conversion.
22388         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
22389         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
22390         * modules/ceill-tests (Files): Use nan.h.
22391         * modules/floorl-tests (Files): Likewise.
22392         * modules/frexpl-tests (Files): Likewise.
22393         * modules/isnanl-tests (Files): Likewise.
22394         * modules/ldexpl-tests (Files): Likewise.
22395         * modules/roundl-tests (Files): Likewise.
22396         * modules/truncl-tests (Files): Likewise.
22397         * tests/test-ceill.c (main): Use a working NaN.
22398         * tests/test-floorl.c (main): Likewise.
22399         * tests/test-frexpl.c (main): Likewise.
22400         * tests/test-isnan.c (test_long_double): Likewise.
22401         * tests/test-isnanl.h (main): Likewise.
22402         * tests/test-ldexpl.h (main): Likewise.
22403         * tests/test-roundl.h (main): Likewise.
22404         * tests/test-truncl.h (main): Likewise.
22405         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
22406
22407 2009-02-26  Eric Blake  <ebb9@byu.net>
22408             Bruno Haible  <bruno@clisp.org>
22409
22410         Work around a *printf bug with %ls on Solaris.
22411         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
22412         precision is specified, sprintf stops converting the wide string
22413         argument when the number of bytes that have been produced by this
22414         conversion equals or exceeds the precision.
22415         * doc/posix-functions/fprintf.texi: Update.
22416         * doc/posix-functions/printf.texi: Update.
22417         * doc/posix-functions/snprintf.texi: Update.
22418         * doc/posix-functions/sprintf.texi: Update.
22419         * doc/posix-functions/vfprintf.texi: Update.
22420         * doc/posix-functions/vprintf.texi: Update.
22421         * doc/posix-functions/vsnprintf.texi: Update.
22422         * doc/posix-functions/vsprintf.texi: Update.
22423         * doc/glibc-functions/obstack_printf.texi: Update.
22424         * doc/glibc-functions/obstack_vprintf.texi: Update.
22425
22426 2009-02-26  Eric Blake  <ebb9@byu.net>
22427
22428         stdlib: favor compiler check of random.h
22429         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
22430         to avoid an ObjC random.h installed by Swarm.
22431
22432 2009-02-26  Bruno Haible  <bruno@clisp.org>
22433
22434         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
22435         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
22436         Reported by Gary V. Vaughan <gary@gnu.org>.
22437
22438 2009-02-26  Bruno Haible  <bruno@clisp.org>
22439
22440         Fix *printf behaviour regarding the %ls directive.
22441         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
22442         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
22443         NEED_PRINTF_DIRECTIVE_LS.
22444         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
22445         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
22446         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
22447         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
22448         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
22449         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
22450         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
22451         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
22452         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
22453         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
22454         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
22455         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
22456         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
22457         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
22458         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
22459         * doc/posix-functions/fprintf.texi: Update.
22460         * doc/posix-functions/printf.texi: Update.
22461         * doc/posix-functions/snprintf.texi: Update.
22462         * doc/posix-functions/sprintf.texi: Update.
22463         * doc/posix-functions/vfprintf.texi: Update.
22464         * doc/posix-functions/vprintf.texi: Update.
22465         * doc/posix-functions/vsnprintf.texi: Update.
22466         * doc/posix-functions/vsprintf.texi: Update.
22467         * doc/glibc-functions/obstack_printf.texi: Update.
22468         * doc/glibc-functions/obstack_vprintf.texi: Update.
22469         Reported by Eric Blake.
22470
22471 2009-02-25  Bruno Haible  <bruno@clisp.org>
22472
22473         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
22474         with known value.
22475         Reported by Gary V. Vaughan <gary@gnu.org>.
22476
22477 2009-02-25  Bruno Haible  <bruno@clisp.org>
22478
22479         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
22480         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
22481         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
22482         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
22483         Reported by Gary V. Vaughan <gary@gnu.org>.
22484
22485 2009-02-25  Bruno Haible  <bruno@clisp.org>
22486
22487         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
22488         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
22489         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
22490         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
22491         Reported by Gary V. Vaughan <gary@gnu.org>.
22492
22493 2009-02-25  Eric Blake  <ebb9@byu.net>
22494
22495         tests: skip fseek/ftell tests if ungetc is broken
22496         * m4/ungetc.m4: New file.
22497         * modules/fseek-tests: Split test, so ungetc dependency is
22498         separate from rest of test.
22499         * modules/fseeko-tests: Likewise.
22500         * modules/ftell-tests: Likewise.
22501         * modules/ftello-tests: Likewise.
22502         * tests/test-fseek.c (main): Isolate ungetc dependency.
22503         * tests/test-fseeko.c (main): Likewise.
22504         * tests/test-ftell.c (main): Likewise.
22505         * tests/test-ftello.c (main): Likewise.
22506         * tests/test-fseek2.sh: New file.
22507         * tests/test-fseeko2.sh: Likewise.
22508         * tests/test-ftell2.sh: Likewise.
22509         * tests/test-ftello2.sh: Likewise.
22510
22511 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
22512
22513         test-getaddrinfo: fix usage of skip return code 77
22514         * tests/test-gettaddrinfo.c: Return skip code 77 only
22515         for first occurance of skip (4x77 is not 77)
22516
22517 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
22518
22519         strtod: avoid C99 decl-after-statement
22520         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
22521
22522 2009-02-24  Eric Blake  <ebb9@byu.net>
22523
22524         strtod: detect HP-UX 11.31 bug
22525         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
22526         Reported by Gary V. Vaughan.
22527
22528 2009-02-23  Bruno Haible  <bruno@clisp.org>
22529
22530         Fix invalid read past end of memory block.
22531         * lib/vasnprintf.c (DCHAR_SET): Define.
22532         (local_wcslen): Define only when needed.
22533         (local_strnlen, local_wcsnlen): New functions.
22534         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
22535         directives that involve a conversion ourselves.
22536         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
22537         wcsnlen, mbrtowc, wcrtomb.
22538         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
22539         * tests/test-vasprintf-posix.c (test_function): Likewise.
22540         * tests/test-snprintf-posix.h (test_function): Likewise.
22541         * tests/test-sprintf-posix.h (test_function): Likewise.
22542         Reported by Ben Pfaff <blp@cs.stanford.edu>.
22543
22544 2009-02-22  Bruno Haible  <bruno@clisp.org>
22545
22546         Implement new clarified decomposition of Hangul syllables.
22547         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
22548         of type LTV, return only a pairwise decomposition.
22549         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
22550         Likewise.
22551         * tests/uninorm/test-decomposition.c (main): Updated expected result.
22552         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
22553         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
22554
22555 2009-02-22  Bruno Haible  <bruno@clisp.org>
22556
22557         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
22558         zero-length results and shrink excess allocated memory.
22559         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
22560         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
22561         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
22562         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
22563         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
22564         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
22565         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
22566         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
22567         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
22568         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
22569         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
22570         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
22571
22572 2009-02-21  Bruno Haible  <bruno@clisp.org>
22573
22574         * doc/gnulib.texi: Include safe-alloc.texi earlier.
22575         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
22576         spaces after a period. Put a space between a macro name and its
22577         argument list. Trivial rewordings.
22578         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
22579         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
22580         (main): Return 0 explicitly.
22581
22582 2009-02-21  Bruno Haible  <bruno@clisp.org>
22583
22584         Tests for module 'uninorm/filter'.
22585         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
22586         * modules/uninorm/filter-tests: New file.
22587
22588         New module 'uninorm/filter'.
22589         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
22590         uninorm_filter_flush, uninorm_filter_free): New declarations.
22591         * lib/uninorm/uninorm-filter.c: New file.
22592         * modules/uninorm/filter: New file.
22593
22594 2009-02-21  Bruno Haible  <bruno@clisp.org>
22595
22596         Tests for module 'uninorm/nfkc'.
22597         * tests/uninorm/test-nfkc.c: New file.
22598         * tests/uninorm/test-u8-nfkc.c: New file.
22599         * tests/uninorm/test-u16-nfkc.c: New file.
22600         * tests/uninorm/test-u32-nfkc.c: New file.
22601         * tests/uninorm/test-u32-nfkc-big.sh: New file.
22602         * tests/uninorm/test-u32-nfkc-big.c: New file.
22603         * modules/uninorm/nfkc-tests: New file.
22604
22605         New module 'uninorm/nfkc'.
22606         * lib/uninorm/nfkc.c: New file.
22607         * modules/uninorm/nfkc: New file.
22608
22609         Tests for module 'uninorm/nfkd'.
22610         * tests/uninorm/test-nfkd.c: New file.
22611         * tests/uninorm/test-u8-nfkd.c: New file.
22612         * tests/uninorm/test-u16-nfkd.c: New file.
22613         * tests/uninorm/test-u32-nfkd.c: New file.
22614         * tests/uninorm/test-u32-nfkd-big.sh: New file.
22615         * tests/uninorm/test-u32-nfkd-big.c: New file.
22616         * modules/uninorm/nfkd-tests: New file.
22617
22618         New module 'uninorm/nfkd'.
22619         * lib/uninorm/nfkd.c: New file.
22620         * modules/uninorm/nfkd: New file.
22621
22622         Tests for module 'uninorm/nfc'.
22623         * tests/uninorm/test-nfc.c: New file.
22624         * tests/uninorm/test-u8-nfc.c: New file.
22625         * tests/uninorm/test-u16-nfc.c: New file.
22626         * tests/uninorm/test-u32-nfc.c: New file.
22627         * tests/uninorm/test-u32-nfc-big.sh: New file.
22628         * tests/uninorm/test-u32-nfc-big.c: New file.
22629         * modules/uninorm/nfc-tests: New file.
22630
22631         New module 'uninorm/nfc'.
22632         * lib/uninorm/nfc.c: New file.
22633         * modules/uninorm/nfc: New file.
22634
22635         Tests for module 'uninorm/nfd'.
22636         * tests/uninorm/test-nfd.c: New file.
22637         * tests/uninorm/test-u8-nfd.c: New file.
22638         * tests/uninorm/test-u16-nfd.c: New file.
22639         * tests/uninorm/test-u32-nfd.c: New file.
22640         * tests/uninorm/test-u32-nfd-big.sh: New file.
22641         * tests/uninorm/test-u32-nfd-big.c: New file.
22642         * tests/uninorm/test-u32-normalize-big.h: New file.
22643         * tests/uninorm/test-u32-normalize-big.c: New file.
22644         * tests/uninorm/NormalizationTest.txt: New file, created from
22645         Unicode 5.1.0 NormalizationTest.txt.
22646         * modules/uninorm/nfd-tests: New file.
22647
22648         New module 'uninorm/nfd'.
22649         * lib/uninorm/nfd.c: New file.
22650         * modules/uninorm/nfd: New file.
22651
22652         New module 'uninorm/u32-normalize'.
22653         * lib/uninorm/u32-normalize.c: New file.
22654         * modules/uninorm/u32-normalize: New file.
22655
22656         New module 'uninorm/u16-normalize'.
22657         * lib/uninorm/u16-normalize.c: New file.
22658         * modules/uninorm/u16-normalize: New file.
22659
22660         New module 'uninorm/u8-normalize'.
22661         * lib/uninorm/u8-normalize.c: New file.
22662         * lib/uninorm/normalize-internal.h: New file.
22663         * lib/uninorm/u-normalize-internal.h: New file.
22664         * modules/uninorm/u8-normalize: New file.
22665
22666         New module 'uninorm/decompose-internal'.
22667         * lib/uninorm/decompose-internal.c: New file.
22668         * modules/uninorm/decompose-internal: New file.
22669
22670         Tests for module 'uninorm/composition'.
22671         * tests/uninorm/test-composition.c: New file.
22672         * modules/uninorm/composition-tests: New file.
22673
22674         New module 'uninorm/composition'.
22675         * lib/uninorm/composition.c: New file.
22676         * lib/uninorm/composition-table.gperf: New file, generated by
22677         gen-uni-tables.
22678         * modules/uninorm/composition: New file.
22679
22680         Tests for module 'uninorm/compat-decomposition'.
22681         * tests/uninorm/test-compat-decomposition.c: New file.
22682         * modules/uninorm/compat-decomposition-tests: New file.
22683
22684         New module 'uninorm/compat-decomposition'.
22685         * lib/uninorm/decompose-internal.h: New file.
22686         * lib/uninorm/compat-decomposition.c: New file.
22687         * modules/uninorm/compat-decomposition: New file.
22688
22689         Tests for module 'uninorm/canonical-decomposition'.
22690         * tests/uninorm/test-canonical-decomposition.c: New file.
22691         * modules/uninorm/canonical-decomposition-tests: New file.
22692
22693         New module 'uninorm/canonical-decomposition'.
22694         * lib/uninorm/canonical-decomposition.c: New file.
22695         * modules/uninorm/canonical-decomposition: New file.
22696
22697         Tests for module 'uninorm/decomposition'.
22698         * tests/uninorm/test-decomposition.c: New file.
22699         * modules/uninorm/decomposition-tests: New file.
22700
22701         New module 'uninorm/decomposition'.
22702         * lib/uninorm/decomposition.c: New file.
22703         * modules/uninorm/decomposition: New file.
22704
22705         New module 'uninorm/decomposition-table'.
22706         * lib/uninorm/decomposition-table.h: New file.
22707         * lib/uninorm/decomposition-table.c: New file.
22708         * lib/uninorm/decomposition-table1.h: New file, generated by
22709         gen-uni-tables.
22710         * lib/uninorm/decomposition-table2.h: New file, generated by
22711         gen-uni-tables.
22712         * modules/uninorm/decomposition-table: New file.
22713
22714         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
22715         (UC_DECOMP_*): New enumeration items.
22716         (get_decomposition): New function.
22717         (struct decomp_table): New type.
22718         (output_decomposition, output_decomposition_tables): New functions.
22719         (unicode_composition_exclusions): New variable.
22720         (fill_composition_exclusions, debug_output_composition_tables): New
22721         functions.
22722         (main): Accept one more argument. Invoke fill_composition_exclusions.
22723         Output decomposition and composition tables.
22724
22725         New module 'uninorm/base'.
22726         * lib/uninorm.h: New file.
22727         * lib/unictype.h: Update comment.
22728         * modules/uninorm/base: New file.
22729
22730 2009-02-21  David Lutterkort  <lutter@redhat.com>
22731
22732         Tests for module 'safe-alloc'.
22733         * tests/test-safe-alloc.c: New file.
22734         * modules/safe-alloc-tests: New file.
22735
22736         New module 'safe-alloc'.
22737         * lib/safe-alloc.h: New file.
22738         * lib/safe-alloc.c: New file.
22739         * m4/safe-alloc.m4: New file.
22740         * modules/safe-alloc: New file.
22741         * doc/safe-alloc.texi: New file.
22742         * doc/gnulib.texi: Include it.
22743         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
22744         safe-alloc.
22745
22746 2009-02-18  Bruno Haible  <bruno@clisp.org>
22747
22748         Fix link error on non-glibc systems.
22749         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
22750         variable.
22751         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
22752
22753 2009-02-18  Jim Meyering  <meyering@redhat.com>
22754
22755         fts: avoid used-uninitialized error due to recent change
22756         * lib/fts.c (fts_read): Guard uses of the new member,
22757         parent->fts_n_dirs_remaining, since it's not relevant for
22758         the parent of a directory specified on the command-line.
22759
22760 2009-02-17  James Youngman  <jay@gnu.org>
22761             Bruno Haible  <bruno@clisp.org>
22762
22763         * m4/include_next.m4: Reformulate comment.
22764
22765 2009-02-16  Jim Meyering  <meyering@redhat.com>
22766
22767         fts: add #if guards so that the fts_lgpl module still builds
22768         * lib/fts.c: Guard just-added hash-table-using parts with
22769         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
22770         Reported by Simon Josefsson.
22771
22772 2009-02-15  Bruno Haible  <bruno@clisp.org>
22773
22774         * modules/array-mergesort-tests: New file.
22775         * tests/test-array-mergesort.c: New file.
22776
22777         New module 'array-mergesort'.
22778         * modules/array-mergesort: New file.
22779         * lib/array-mergesort.h: New file.
22780
22781 2009-02-15  Bruno Haible  <bruno@clisp.org>
22782
22783         Fix 2009-02-07 commit.
22784         * lib/gen-uni-tables.c (output_predicate, output_category,
22785         output_combclass, output_bidi_category, output_decimal_digit,
22786         output_digit, output_numeric, output_mirror, output_scripts,
22787         output_ident_category, output_simple_mapping): Fix format directives.
22788         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
22789
22790 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
22791
22792         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
22793         fixes are available from IBM.
22794
22795 2009-02-13  Jim Meyering  <meyering@redhat.com>
22796
22797         fts: arrange not to stat non-directories in more cases
22798         This makes GNU find (when it doesn't need to stat each file)
22799         *much* more efficient at traversing reiserfs file systems.
22800         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
22801         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
22802         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
22803         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
22804         (leaf_optimization_applies): New function.
22805         (LCO_hash, LCO_compare): New helper functions.
22806         (link_count_optimize_ok): New function.
22807         (fts_stat): Initialize new member (if dir).
22808         (fts_read): Decrement parent's fts_n_dirs_remaining count if
22809         we've just stat'ed a directory.  Skip the stat call when possible.
22810         ---
22811         Note this AFS-related exchange:
22812         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
22813         and note find's pioctl call in find/fstype.c.
22814         But that is necessary only if you want to enable the
22815         optimization for AFS, and for now, I don't.
22816
22817         fts: move a function definition "up" (no semantic change)
22818         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
22819         "up" to precede upcoming use of a related function.
22820
22821 2009-02-11  Jim Meyering  <meyering@redhat.com>
22822
22823         fts: correct internal computation of nlinks (optimization-related)
22824         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
22825         whether the current entry is a directory, so don't test it.
22826
22827 2009-02-10  Bruno Haible  <bruno@clisp.org>
22828
22829         Tests for module 'uniwbrk/ulc-wordbreaks'.
22830         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
22831         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
22832         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
22833
22834         Tests for module 'uniwbrk/u32-wordbreaks'.
22835         * modules/uniwbrk/u32-wordbreaks-tests: New file.
22836         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
22837
22838         Tests for module 'uniwbrk/u16-wordbreaks'.
22839         * modules/uniwbrk/u16-wordbreaks-tests: New file.
22840         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
22841
22842         Tests for module 'uniwbrk/u8-wordbreaks'.
22843         * modules/uniwbrk/u8-wordbreaks-tests: New file.
22844         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
22845
22846 2009-02-10  Bruno Haible  <bruno@clisp.org>
22847
22848         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
22849         property.
22850         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
22851         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
22852         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
22853
22854 2009-02-10  Simon Josefsson  <simon@josefsson.org>
22855
22856         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
22857         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
22858
22859 2009-02-10  Bruno Haible  <bruno@clisp.org>
22860
22861         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
22862         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
22863         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
22864         * lib/unilbrk/u8-possible-linebreaks.c: Update.
22865         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
22866         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
22867
22868 2009-02-09  Simon Josefsson  <simon@josefsson.org>
22869
22870         * lib/sockets.h (gl_fd_to_handle): New function.
22871
22872         * tests/test-sockets.c: Call gl_fd_to_handle.
22873
22874 2009-02-09  Bruno Haible  <bruno@clisp.org>
22875
22876         * doc/havelib.texi: Document the conventions on bi-arch systems.
22877
22878 2009-02-08  Bruno Haible  <bruno@clisp.org>
22879
22880         Document the AC_LIB_LINKFLAGS macro.
22881         * doc/havelib.texi: New file, mostly written on 2005-05-24.
22882         * doc/gnulib.texi: Include it.
22883
22884 2009-02-08  Bruno Haible  <bruno@clisp.org>
22885
22886         Fix wrong order of sections, compared to TOC.
22887         * doc/gnulib.texi: Include relocatable-maint.texi after the
22888         "Regular expressions" node, not before.
22889
22890 2009-02-08  Bruno Haible  <bruno@clisp.org>
22891
22892         Tests for module 'unicase/totitle'.
22893         * modules/unicase/totitle-tests: New file.
22894
22895         Tests for module 'unicase/tolower'.
22896         * modules/unicase/tolower-tests: New file.
22897
22898         Tests for module 'unicase/toupper'.
22899         * modules/unicase/toupper-tests: New file.
22900         * tests/unicase/test-mapping-part1.h: New file.
22901         * tests/unicase/test-mapping-part2.h: New file.
22902
22903         New module 'unicase/totitle'.
22904         * modules/unicase/totitle: New file.
22905         * lib/unicase/totitle.c: New file.
22906
22907         New module 'unicase/tolower'.
22908         * modules/unicase/tolower: New file.
22909         * lib/unicase/tolower.c: New file.
22910
22911         New module 'unicase/toupper'.
22912         * modules/unicase/toupper: New file.
22913         * lib/unicase/toupper.c: New file.
22914         * lib/unicase/simple-mapping.h: New file.
22915
22916         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
22917         (mapping_table): New structure.
22918         (output_simple_mapping): New function.
22919         (main): Invoke output_simple_mapping_test and output_simple_mapping.
22920         * modules/gen-uni-tables (Description): Update.
22921         * lib/unicase/toupper.h: New file, automatically generated by
22922         gen-uni-tables.
22923         * lib/unicase/tolower.h: New file, automatically generated by
22924         gen-uni-tables.
22925         * lib/unicase/totitle.h: New file, automatically generated by
22926         gen-uni-tables.
22927         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
22928         gen-uni-tables.
22929         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
22930         gen-uni-tables.
22931         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
22932         gen-uni-tables.
22933
22934         New module 'unicase/base'.
22935         * modules/unicase/base: New file.
22936         * lib/unicase.h: New file.
22937
22938 2009-02-08  Bruno Haible  <bruno@clisp.org>
22939
22940         New module 'uniwbrk/ulc-wordbreaks'.
22941         * modules/uniwbrk/ulc-wordbreaks: New file.
22942         * lib/uniwbrk/ulc-wordbreaks.c: New file.
22943
22944         New module 'uniwbrk/u32-wordbreaks'.
22945         * modules/uniwbrk/u32-wordbreaks: New file.
22946         * lib/uniwbrk/u32-wordbreaks.c: New file.
22947
22948         New module 'uniwbrk/u16-wordbreaks'.
22949         * modules/uniwbrk/u16-wordbreaks: New file.
22950         * lib/uniwbrk/u16-wordbreaks.c: New file.
22951
22952         New module 'uniwbrk/u8-wordbreaks'.
22953         * modules/uniwbrk/u8-wordbreaks: New file.
22954         * lib/uniwbrk/u8-wordbreaks.c: New file.
22955         * lib/uniwbrk/u-wordbreaks.h: New file.
22956
22957         New module 'uniwbrk/table'.
22958         * modules/uniwbrk/table: New file.
22959         * lib/uniwbrk/wbrktable.h: New file.
22960         * lib/uniwbrk/wbrktable.c: New file.
22961
22962         New module 'uniwbrk/wordbreak-property'.
22963         * modules/uniwbrk/wordbreak-property: New file.
22964         * lib/uniwbrk/wordbreak-property.c: New file.
22965
22966         * lib/gen-uni-tables.c (WBP_*): New enum items.
22967         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
22968         (unicode_org_wbp): New variable.
22969         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
22970         New functions.
22971         (wbp_table): New structure.
22972         (output_wbp, output_wbrk_tables): New functions.
22973         (main): Accept additional argument. Invoke fill_org_wbp,
22974         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
22975         output_wbrk_tables.
22976         * modules/gen-uni-tables (Description): Update.
22977         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
22978         gen-uni-tables.
22979
22980         New module 'uniwbrk/base'.
22981         * modules/uniwbrk/base: New file.
22982         * lib/uniwbrk.h: New file.
22983
22984 2009-02-08  Bruno Haible  <bruno@clisp.org>
22985
22986         Update to Unicode 5.1.0.
22987         * lib/gen-uni-tables.c (is_property_alphabetic): Include
22988         U+2185..U+2188.
22989         (is_property_default_ignorable_code_point): Don't include characters
22990         of category Cc or Cs and not-a-characters.
22991         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
22992         U+0D79, U+109E, U+109F, U+A60C.
22993         * lib/unictype/bidi_of.h: Regenerated.
22994         * lib/unictype/blocks.h: Regenerated.
22995         * lib/unictype/categ_C.h: Regenerated.
22996         * lib/unictype/categ_Cf.h: Regenerated.
22997         * lib/unictype/categ_Cn.h: Regenerated.
22998         * lib/unictype/categ_L.h: Regenerated.
22999         * lib/unictype/categ_Ll.h: Regenerated.
23000         * lib/unictype/categ_Lm.h: Regenerated.
23001         * lib/unictype/categ_Lo.h: Regenerated.
23002         * lib/unictype/categ_Lu.h: Regenerated.
23003         * lib/unictype/categ_M.h: Regenerated.
23004         * lib/unictype/categ_Mc.h: Regenerated.
23005         * lib/unictype/categ_Me.h: Regenerated.
23006         * lib/unictype/categ_Mn.h: Regenerated.
23007         * lib/unictype/categ_N.h: Regenerated.
23008         * lib/unictype/categ_Nd.h: Regenerated.
23009         * lib/unictype/categ_Nl.h: Regenerated.
23010         * lib/unictype/categ_No.h: Regenerated.
23011         * lib/unictype/categ_P.h: Regenerated.
23012         * lib/unictype/categ_Pd.h: Regenerated.
23013         * lib/unictype/categ_Pe.h: Regenerated.
23014         * lib/unictype/categ_Pf.h: Regenerated.
23015         * lib/unictype/categ_Pi.h: Regenerated.
23016         * lib/unictype/categ_Po.h: Regenerated.
23017         * lib/unictype/categ_Ps.h: Regenerated.
23018         * lib/unictype/categ_S.h: Regenerated.
23019         * lib/unictype/categ_Sk.h: Regenerated.
23020         * lib/unictype/categ_Sm.h: Regenerated.
23021         * lib/unictype/categ_So.h: Regenerated.
23022         * lib/unictype/categ_of.h: Regenerated.
23023         * lib/unictype/combining.h: Regenerated.
23024         * lib/unictype/ctype_alnum.h: Regenerated.
23025         * lib/unictype/ctype_alpha.h: Regenerated.
23026         * lib/unictype/ctype_graph.h: Regenerated.
23027         * lib/unictype/ctype_lower.h: Regenerated.
23028         * lib/unictype/ctype_print.h: Regenerated.
23029         * lib/unictype/ctype_punct.h: Regenerated.
23030         * lib/unictype/ctype_upper.h: Regenerated.
23031         * lib/unictype/decdigit.h: Regenerated.
23032         * lib/unictype/digit.h: Regenerated.
23033         * lib/unictype/mirror.h: Regenerated.
23034         * lib/unictype/numeric.h: Regenerated.
23035         * lib/unictype/pr_alphabetic.h: Regenerated.
23036         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
23037         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
23038         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
23039         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
23040         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
23041         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
23042         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
23043         * lib/unictype/pr_combining.h: Regenerated.
23044         * lib/unictype/pr_dash.h: Regenerated.
23045         * lib/unictype/pr_decimal_digit.h: Regenerated.
23046         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
23047         * lib/unictype/pr_deprecated.h: Regenerated.
23048         * lib/unictype/pr_diacritic.h: Regenerated.
23049         * lib/unictype/pr_extender.h: Regenerated.
23050         * lib/unictype/pr_format_control.h: Regenerated.
23051         * lib/unictype/pr_grapheme_base.h: Regenerated.
23052         * lib/unictype/pr_grapheme_extend.h: Regenerated.
23053         * lib/unictype/pr_grapheme_link.h: Regenerated.
23054         * lib/unictype/pr_id_continue.h: Regenerated.
23055         * lib/unictype/pr_id_start.h: Regenerated.
23056         * lib/unictype/pr_ideographic.h: Regenerated.
23057         * lib/unictype/pr_ignorable_control.h: Regenerated.
23058         * lib/unictype/pr_lowercase.h: Regenerated.
23059         * lib/unictype/pr_math.h: Regenerated.
23060         * lib/unictype/pr_numeric.h: Regenerated.
23061         * lib/unictype/pr_other_alphabetic.h: Regenerated.
23062         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
23063         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
23064         * lib/unictype/pr_other_id_continue.h: Regenerated.
23065         * lib/unictype/pr_other_lowercase.h: Regenerated.
23066         * lib/unictype/pr_other_math.h: Regenerated.
23067         * lib/unictype/pr_punctuation.h: Regenerated.
23068         * lib/unictype/pr_sentence_terminal.h: Regenerated.
23069         * lib/unictype/pr_soft_dotted.h: Regenerated.
23070         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
23071         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
23072         * lib/unictype/pr_unified_ideograph.h: Regenerated.
23073         * lib/unictype/pr_uppercase.h: Regenerated.
23074         * lib/unictype/pr_xid_continue.h: Regenerated.
23075         * lib/unictype/pr_xid_start.h: Regenerated.
23076         * lib/unictype/pr_zero_width.h: Regenerated.
23077         * lib/unictype/scripts.h: Regenerated.
23078         * lib/unictype/scripts_byname.gperf: Regenerated.
23079         * lib/unictype/sy_java_ident.h: Regenerated.
23080         * lib/unilbrk/lbrkprop1.h: Regenerated.
23081         * lib/unilbrk/lbrkprop2.h: Regenerated.
23082         * tests/unictype/test-categ_C.c: Regenerated.
23083         * tests/unictype/test-categ_Cf.c: Regenerated.
23084         * tests/unictype/test-categ_Cn.c: Regenerated.
23085         * tests/unictype/test-categ_L.c: Regenerated.
23086         * tests/unictype/test-categ_Ll.c: Regenerated.
23087         * tests/unictype/test-categ_Lm.c: Regenerated.
23088         * tests/unictype/test-categ_Lo.c: Regenerated.
23089         * tests/unictype/test-categ_Lu.c: Regenerated.
23090         * tests/unictype/test-categ_M.c: Regenerated.
23091         * tests/unictype/test-categ_Mc.c: Regenerated.
23092         * tests/unictype/test-categ_Me.c: Regenerated.
23093         * tests/unictype/test-categ_Mn.c: Regenerated.
23094         * tests/unictype/test-categ_N.c: Regenerated.
23095         * tests/unictype/test-categ_Nd.c: Regenerated.
23096         * tests/unictype/test-categ_Nl.c: Regenerated.
23097         * tests/unictype/test-categ_No.c: Regenerated.
23098         * tests/unictype/test-categ_P.c: Regenerated.
23099         * tests/unictype/test-categ_Pd.c: Regenerated.
23100         * tests/unictype/test-categ_Pe.c: Regenerated.
23101         * tests/unictype/test-categ_Pf.c: Regenerated.
23102         * tests/unictype/test-categ_Pi.c: Regenerated.
23103         * tests/unictype/test-categ_Po.c: Regenerated.
23104         * tests/unictype/test-categ_Ps.c: Regenerated.
23105         * tests/unictype/test-categ_S.c: Regenerated.
23106         * tests/unictype/test-categ_Sk.c: Regenerated.
23107         * tests/unictype/test-categ_Sm.c: Regenerated.
23108         * tests/unictype/test-categ_So.c: Regenerated.
23109         * tests/unictype/test-ctype_alnum.c: Regenerated.
23110         * tests/unictype/test-ctype_alpha.c: Regenerated.
23111         * tests/unictype/test-ctype_graph.c: Regenerated.
23112         * tests/unictype/test-ctype_lower.c: Regenerated.
23113         * tests/unictype/test-ctype_print.c: Regenerated.
23114         * tests/unictype/test-ctype_punct.c: Regenerated.
23115         * tests/unictype/test-ctype_upper.c: Regenerated.
23116         * tests/unictype/test-decdigit.h: Regenerated.
23117         * tests/unictype/test-digit.h: Regenerated.
23118         * tests/unictype/test-numeric.h: Regenerated.
23119         * tests/unictype/test-pr_alphabetic.c: Regenerated.
23120         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
23121         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
23122         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
23123         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
23124         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
23125         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
23126         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
23127         * tests/unictype/test-pr_combining.c: Regenerated.
23128         * tests/unictype/test-pr_dash.c: Regenerated.
23129         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
23130         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
23131         * tests/unictype/test-pr_deprecated.c: Regenerated.
23132         * tests/unictype/test-pr_diacritic.c: Regenerated.
23133         * tests/unictype/test-pr_extender.c: Regenerated.
23134         * tests/unictype/test-pr_format_control.c: Regenerated.
23135         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
23136         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
23137         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
23138         * tests/unictype/test-pr_id_continue.c: Regenerated.
23139         * tests/unictype/test-pr_id_start.c: Regenerated.
23140         * tests/unictype/test-pr_ideographic.c: Regenerated.
23141         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
23142         * tests/unictype/test-pr_lowercase.c: Regenerated.
23143         * tests/unictype/test-pr_math.c: Regenerated.
23144         * tests/unictype/test-pr_numeric.c: Regenerated.
23145         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
23146         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
23147         Regenerated.
23148         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
23149         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
23150         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
23151         * tests/unictype/test-pr_other_math.c: Regenerated.
23152         * tests/unictype/test-pr_punctuation.c: Regenerated.
23153         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
23154         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
23155         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
23156         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
23157         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
23158         * tests/unictype/test-pr_uppercase.c: Regenerated.
23159         * tests/unictype/test-pr_xid_continue.c: Regenerated.
23160         * tests/unictype/test-pr_xid_start.c: Regenerated.
23161         * tests/unictype/test-pr_zero_width.c: Regenerated.
23162
23163         Update to Unicode 5.1.0.
23164         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
23165         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
23166         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
23167         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
23168         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
23169         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
23170         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
23171         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
23172         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
23173         (nonspacing_table_ind): Update.
23174         * tests/uniwidth/test-uc_width2.sh: Update expected result.
23175
23176         Update to Unicode 5.1.0.
23177         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
23178         code transform.
23179         * lib/uniname/uniname.c (unicode_character_name,
23180         unicode_name_character): Add the range 0x1Fxxx to the code transform.
23181         * lib/uniname/uninames.h: Regenerated.
23182         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
23183
23184 2009-02-07  Bruno Haible  <bruno@clisp.org>
23185
23186         Merge gen-ctype and gen-lbrk into a single program.
23187         * lib/gen-uni-tables.c: New file, incorporating
23188         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
23189         Add directory prefixes to the names of the generated files.
23190         * lib/unictype/gen-ctype.c: Remove file.
23191         * lib/unilbrk/gen-lbrk.c: Remove file.
23192         * modules/gen-uni-tables: New file.
23193         * modules/unictype/gen-ctype: Remove file.
23194         * modules/unilbrk/gen-lbrk: Remove file.
23195
23196 2009-02-07  Bruno Haible  <bruno@clisp.org>
23197
23198         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
23199
23200         New module 'unistr/u32-strcoll'.
23201         * modules/unistr/u32-strcoll: New file.
23202         * lib/unistr/u32-strcoll.c: New file.
23203
23204         New module 'unistr/u16-strcoll'.
23205         * modules/unistr/u16-strcoll: New file.
23206         * lib/unistr/u16-strcoll.c: New file.
23207
23208         New module 'unistr/u8-strcoll'.
23209         * modules/unistr/u8-strcoll: New file.
23210         * lib/unistr/u8-strcoll.c: New file.
23211         * lib/unistr/u-strcoll.h: New file.
23212
23213 2009-02-07  Bruno Haible  <bruno@clisp.org>
23214
23215         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
23216         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
23217         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
23218         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
23219         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
23220         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
23221
23222 2009-02-07  Bruno Haible  <bruno@clisp.org>
23223
23224         Make 64-bit clean.
23225         * lib/unictype/gen-ctype.c (output_predicate, output_category,
23226         output_combclass, output_bidi_category, output_decimal_digit,
23227         output_digit, output_numeric, output_mirror, output_scripts,
23228         output_ident_category): Use proper width specifier in format strings.
23229
23230 2009-02-07  Bruno Haible  <bruno@clisp.org>
23231
23232         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
23233         failure behaviour.
23234
23235 2009-02-07  Jim Meyering  <meyering@redhat.com>
23236
23237         regex: avoid compilation failure with upcoming gcc-4.4
23238         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
23239         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
23240         "... error: integer overflow in preprocessor expression".
23241
23242 2009-02-05  Ben Pfaff  <blp@gnu.org>
23243
23244         Fix link errors on Windows when close module is used.
23245         * modules/close: Add $(LIB_CLOSE) to Link section.
23246         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
23247         $(LIB_CLOSE) on Windows.
23248
23249 2009-02-05  Jim Meyering  <meyering@redhat.com>
23250
23251         still avoid unused-parameter warnings, but do it cleanly
23252         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
23253         (get_fs_usage): Cast to void instead.
23254         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
23255         (dev_from_mount_options, read_file_system_list): Cast to void.
23256         Prompted by Bruno Haible.
23257
23258 2009-02-04  Jim Meyering  <meyering@redhat.com>
23259
23260         fsusage.c: correct copyright year
23261         * lib/fsusage.c: Reflect year in which the change is pushed into
23262
23263         avoid misc. warnings
23264         * lib/fsusage.c (UNUSED_PARAM): Define.
23265         (get_fs_usage): Mark parameter "disk" as unused.
23266         * lib/getugroups.c (getgrent): Use "void" in prototype.
23267         * lib/mountlist.c: Mark unused parameters.
23268         (read_file_system_list): Declare a local with "const".
23269         * lib/nanosleep.c (getnow): Declare static.
23270         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
23271
23272         dirfd: set errno upon failure
23273         * lib/dirfd.c: Include <errno.h>.
23274         Set errno to ENOTSUP when returning -1.
23275         * modules/dirfd (Depends-on): Add errno.
23276         Suggested by John Kodis <kodis@comcast.net>.
23277
23278 2009-02-01  Bruno Haible  <bruno@clisp.org>
23279
23280         Don't assume sizeof (long) >= sizeof (void *).
23281         * lib/memcmp.c: Include stdint.h.
23282         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
23283         srcp2 to 'const byte *'.
23284         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
23285         types to uintptr_t.
23286         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
23287         * modules/memcmp (Depends-on): Add stdint.
23288         Reported by Ozkan Sezer <sezeroz@gmail.com>.
23289
23290 2009-01-30  Eric Blake  <ebb9@byu.net>
23291
23292         fix more require-before-expand issues
23293         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
23294         expand, AC_PROG_AWK.
23295         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
23296
23297 2009-01-28  Eric Blake  <ebb9@byu.net>
23298
23299         version-etc: use consistent URL formatting
23300         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
23301         Improve formatting.  Use fputs for string without %.
23302
23303 2009-01-28  Jim Meyering  <meyering@redhat.com>
23304
23305         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
23306         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
23307         "underquoted definition of NAME" from autoconf-2.59.
23308
23309 2009-01-28  Bruno Haible  <bruno@clisp.org>
23310
23311         * doc/gnulib.texi: Add "Obsolete modules" to index.
23312
23313 2009-01-28  Jim Meyering  <meyering@redhat.com>
23314
23315         useless-if-before-free: recognize more variants
23316         * build-aux/useless-if-before-free: Also recognize e.g.,
23317         if (NULL != p) free (p);
23318
23319 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
23320
23321         test-getaddrinfo: skip (don't fail) this test when there's no network
23322         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
23323         on the presumption that it means you lack network access.
23324
23325 2009-01-26  Jim Meyering  <meyering@redhat.com>
23326
23327         fflush: avoid warnings on modern systems
23328         * lib/fflush.c (rpl_fflush): Move declarations of locals,
23329         pos and result, into scopes where they're used.
23330
23331 2009-01-26  Eric Blake  <ebb9@byu.net>
23332
23333         Silence warning reintroduced by recent extensions patch.
23334         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
23335         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
23336         autoconf.
23337
23338         Backport improved autoconf semantics of AC_DEFUN_ONCE.
23339         * m4/00gnulib.m4: New file.
23340         * gnulib-tool (func_get_filelist): Always use it.
23341         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
23342         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
23343
23344 2009-01-25  Bruno Haible  <bruno@clisp.org>
23345
23346         Make test-quotearg work on MacOS X and AIX.
23347         * tests/test-quotearg.sh: New file.
23348         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
23349         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
23350         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
23351         include <libintl.h>.
23352         (fake_locale): Remove variable.
23353         (gettext, dgettext, dcgettext): Remove functions.
23354         (main): Instead of setting a fake locale, set a real locale. Call
23355         textdomain and bindtextdomain.
23356         * modules/quotearg-tests (Files): Add the new files.
23357         (Depends-on): Add gettext, setenv, unsetenv.
23358         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
23359         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
23360         Augment TESTS_ENVIRONMENT.
23361
23362 2009-01-25  Bruno Haible  <bruno@clisp.org>
23363
23364         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
23365         fr_FR.ISO8859-1 locale on MacOS X.
23366         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
23367         ja_JP.eucJP locale on MacOS X.
23368         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
23369         zh_CN.GB18030 locale on MacOS X.
23370
23371 2009-01-25  Bruno Haible  <bruno@clisp.org>
23372
23373         Avoid link errors on MacOS X 10.3.
23374         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
23375         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
23376
23377 2009-01-25  Bruno Haible  <bruno@clisp.org>
23378
23379         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
23380         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
23381         * modules/pipe (Files): Remove m4/posix_spawn.m4.
23382         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
23383         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
23384         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
23385         posix_spawnattr_init, posix_spawnattr_setsigmask,
23386         posix_spawnattr_setflags, posix_spawnattr_destroy.
23387
23388         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
23389         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
23390         * modules/execute (Files): Remove m4/posix_spawn.m4.
23391         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
23392         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
23393         posix_spawnattr_init, posix_spawnattr_setsigmask,
23394         posix_spawnattr_setflags, posix_spawnattr_destroy.
23395
23396 2009-01-25  Bruno Haible  <bruno@clisp.org>
23397
23398         * lib/glthread/threadlib.c: Include <stdlib.h>.
23399
23400 2009-01-25  Bruno Haible  <bruno@clisp.org>
23401
23402         * lib/glthread/threadlib.c (dummy): New declaration.
23403
23404 2009-01-25  Bruno Haible  <bruno@clisp.org>
23405
23406         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
23407         multibyte characters also for the GB18030 encoding. Don't crash when
23408         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
23409
23410 2009-01-25  Bruno Haible  <bruno@clisp.org>
23411
23412         Avoid redefining 'struct random_data' on OSF/1 5.1.
23413         * lib/stdlib.in.h: Include <random.h> if it exists.
23414         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
23415         HAVE_RANDOM_H. Include <random.h> when testing whether
23416         'struct random_data' exists.
23417         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
23418
23419 2009-01-25  Bruno Haible  <bruno@clisp.org>
23420
23421         Don't install charset.alias on MacOS X >= 10.3.
23422         * lib/localcharset.c (DARWIN7): New macro.
23423         (get_charset_aliases): Hardcode the result for Darwin7.
23424         * modules/localcharset (install-exec-local): Don't install
23425         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
23426
23427 2009-01-25  Bruno Haible  <bruno@clisp.org>
23428
23429         Don't install charset.alias on mingw and Cygwin.
23430         * modules/localcharset (install-exec-local): Don't install
23431         charset.alias on mingw and Cygwin, if the file does not yet exist.
23432         The result for these platforms is hardcoded in localcharset.c.
23433
23434 2009-01-25  Bruno Haible  <bruno@clisp.org>
23435
23436         Make it possible again to use AC_GNU_SOURCE together with gnulib.
23437         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
23438         before requiring AC_USE_SYSTEM_EXTENSIONS.
23439
23440 2009-01-25  Jim Meyering  <meyering@redhat.com>
23441
23442         c-strtod: avoid warnings
23443         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
23444         "assignment discards qualifiers from pointer target type" warnings.
23445
23446 2009-01-24  Bruno Haible  <bruno@clisp.org>
23447
23448         Add support for non-UTF-8 locales on MacOS X.
23449         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
23450         canonical encodings. For Darwin 7 and newer, don't map traditional
23451         encodings to UTF-8.
23452         Reported by Vincent Lefevre <vincent@vinc17.org>
23453         at <http://savannah.gnu.org/bugs/?25235>.
23454
23455 2009-01-24  Bruno Haible  <bruno@clisp.org>
23456
23457         * doc/gnulib.texi (Obsolete modules): New section.
23458         Reported by Mike Frysinger <vapier@gentoo.org>.
23459
23460 2009-01-24  Bruno Haible  <bruno@clisp.org>
23461
23462         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
23463         (%.dvi): New rule.
23464
23465 2009-01-24  Bruno Haible  <bruno@clisp.org>
23466
23467         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
23468         Reported by Eric Blake.
23469
23470 2009-01-24  Bruno Haible  <bruno@clisp.org>
23471
23472         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
23473         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
23474         Reported by Gary V. Vaughan <gary@gnu.org>.
23475
23476 2009-01-24  Bruno Haible  <bruno@clisp.org>
23477
23478         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
23479
23480 2009-01-23  Bruno Haible  <bruno@clisp.org>
23481
23482         Make c-strtod, c-strtold usable in libraries.
23483         * lib/c-strtod.c: Include string.h instead of xalloc.h.
23484         (C_STRTOD): Call strdup instead of xstrdup.
23485         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
23486         * modules/c-strtold (Depends-on): Likewise.
23487         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
23488         * NEWS: Mention the change.
23489         Reported by Michael Gold <mgold@ncf.ca>.
23490
23491 2009-01-23  Jim Meyering  <meyering@redhat.com>
23492
23493         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
23494         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
23495         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
23496
23497 2009-01-23  Simon Josefsson  <simon@josefsson.org>
23498
23499         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
23500         GNU CoreUtils.
23501         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
23502         * modules/version-etc (Description): Update.
23503
23504 2009-01-22  Bruno Haible  <bruno@clisp.org>
23505
23506         Cache the C locale object.
23507         * lib/c-strtod.c (c_locale_cache): New variable.
23508         (c_locale): New function.
23509         (C_STRTOD): Use it, and don't call freelocale.
23510         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
23511         Suggested by Paolo Bonzini.
23512
23513 2009-01-21  Bruno Haible  <bruno@clisp.org>
23514
23515         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
23516         conditions other than overflow.
23517
23518 2009-01-21  Bruno Haible  <bruno@clisp.org>
23519
23520         * lib/c-strtod.c: Include errno.h.
23521         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
23522         value from STRTOD_L and STRTOD.
23523
23524 2009-01-21  Bruno Haible  <bruno@clisp.org>
23525         and Jim Meyering  <meyering@redhat.com>
23526
23527         nanosleep: skip configure test (fail it) for apple universal builds
23528         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
23529         universal builds, assume that nanosleep does not work.
23530         * modules/nanosleep (Depends-on): Add multiarch.
23531
23532         mktime: skip configure test (fail it) for apple universal builds
23533         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
23534         universal builds, assume that mktime does not work.
23535         * modules/mktime (Depends-on): Add multiarch.
23536
23537 2009-01-21  Eric Blake  <ebb9@byu.net>
23538
23539         multiarch: avoid expand-before-require warning
23540         * modules/multiarch (configure.ac): Require, rather than expand,
23541         gl_MULTIARCH.
23542         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
23543         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
23544         enforce that all clients require it.  Partial reversion of
23545         2008-12-29 patch.
23546
23547         error: avoid expand-before-require warning
23548         * modules/errno (configure.ac): Require, rather than expand,
23549         gl_HEADER_ERRNO_H.
23550         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
23551         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
23552         enforce that all clients require it.
23553
23554         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
23555         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
23556         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
23557         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
23558
23559 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
23560
23561         Revert:
23562         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
23563
23564         regex: do not depend on obsolete modules.
23565         * modules/regex: Remove memcmp and memmove.
23566
23567 2009-01-20  Bruno Haible  <bruno@clisp.org>
23568
23569         Make the 'link' module link on Windows NT 4.
23570         * lib/link.c (_WIN32_WINNT): Don't define.
23571         (CreateHardLinkFuncType): New type.
23572         (CreateHardLinkFunc, initialized): New variables.
23573         (initialize): New function.
23574         (link): Invoke CreateHardLink indirectly through the function pointer.
23575
23576 2009-01-20  Bruno Haible  <bruno@clisp.org>
23577
23578         Fix compilation failure on mingw.
23579         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
23580
23581 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
23582
23583         * doc/c-strtod.texi: Mention a couple of restrictions.
23584
23585 2009-01-20  Jim Meyering  <meyering@redhat.com>
23586
23587         gettimeofday: move more declarations out of functions
23588         * lib/gettimeofday.c: Move extern declarations of tzset and
23589         gmtime out of containing functions.  Prompted by Bruno Haible.
23590
23591 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
23592
23593         regex: do not depend on obsolete modules.
23594         * modules/regex: Remove memcmp and memmove.
23595
23596 2009-01-19  Bruno Haible  <bruno@clisp.org>
23597
23598         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
23599         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
23600         gl_BIGENDIAN, not AC_C_BIGENDIAN.
23601         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
23602         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
23603
23604 2009-01-19  Bruno Haible  <bruno@clisp.org>
23605
23606         * tests/test-link.c: Include <errno.h>.
23607         (main): Exit with code 77 when a hard link cannot be created due to
23608         the file system.
23609         * tests/test-link.sh: Skip test when a hard link cannot be created due
23610         to the file system.
23611         Suggested by Eric Blake.
23612
23613 2009-01-19  Martin Lambers  <marlam@marlam.de>
23614
23615         * modules/link-tests: New file.
23616         * tests/test-link.sh: New file.
23617         * tests/test-link.c: New file.
23618
23619 2009-01-19  Eric Blake  <ebb9@byu.net>
23620
23621         doc: mention another function added in cygwin 1.7.0
23622         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
23623         Another new function in cygwin 1.7.
23624
23625 2009-01-19  Bruno Haible  <bruno@clisp.org>
23626
23627         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
23628         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
23629         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
23630         gl_BIGENDIAN, not AC_C_BIGENDIAN.
23631         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
23632         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
23633         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
23634         * m4/md4.m4 (gl_MD4): Likewise.
23635         * m4/md5.m4 (gl_MD5): Likewise.
23636         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
23637         * m4/sha1.m4 (gl_SHA1): Likewise.
23638         * m4/sha256.m4 (gl_SHA256): Likewise.
23639         * m4/sha512.m4 (gl_SHA512): Likewise.
23640
23641 2009-01-19  Bruno Haible  <bruno@clisp.org>
23642
23643         * modules/uniname/uniname-tests (Depends-on): Add progname.
23644         * tests/uniname/test-uninames.c: Include progname.h.
23645         (main): Call set_program_name.
23646
23647         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
23648         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
23649         (main): Call set_program_name.
23650
23651         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
23652         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
23653         (main): Call set_program_name.
23654
23655         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
23656         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
23657         (main): Call set_program_name.
23658
23659         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
23660         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
23661         (main): Call set_program_name.
23662
23663         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
23664         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
23665         (main): Call set_program_name.
23666
23667         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
23668         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
23669         (main): Call set_program_name.
23670
23671         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
23672         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
23673         (main): Call set_program_name.
23674
23675         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
23676         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
23677         (main): Call set_program_name.
23678
23679 2009-01-19  Eric Blake  <ebb9@byu.net>
23680
23681         test-unistd: test previous patch
23682         * tests/test-unistd.c: Test *_FILENO macros.
23683
23684         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
23685         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
23686         Guarantee a definition.
23687         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
23688         * modules/unistd-safer (Depends-on): Add dependency on unistd.
23689         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
23690         * lib/dup-safer.c (STDERR_FILENO): Likewise.
23691         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
23692         Likewise.
23693         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
23694         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
23695         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
23696         Likewise.
23697         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
23698         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
23699         (STDERR_FILENO): Likewise.
23700         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
23701         (STDERR_FILENO): Likewise.
23702         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
23703         (STDERR_FILENO): Likewise.
23704         Reported by Elbert Pol.
23705
23706 2009-01-19  Eric Blake  <ebb9@byu.net>
23707
23708         doc: mention more functions added in cygwin 1.7.0
23709         * doc/posix-functions/abort.texi (abort): Update wording related
23710         to cygwin.
23711         * doc/posix-functions/daylight.texi (daylight): Likewise.
23712         * doc/posix-functions/optarg.texi (optarg): Likewise.
23713         * doc/posix-functions/optarg.texi (opterr): Likewise.
23714         * doc/posix-functions/optarg.texi (optind): Likewise.
23715         * doc/posix-functions/optarg.texi (optopt): Likewise.
23716         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
23717         worked in 1.5.x, and was withdrawn in 1.7.
23718         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
23719         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
23720         cygwin versions.
23721         * doc/posix-functions/perror.texi (perror): Likewise.
23722         * doc/posix-functions/printf.texi (printf): Likewise.
23723         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
23724         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
23725         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
23726         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
23727         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
23728         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
23729         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
23730         Likewise.
23731         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
23732         Likewise.
23733         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
23734         this function.
23735         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
23736         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
23737         Likewise.
23738         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
23739         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
23740         * doc/posix-functions/confstr.texi (confstr): Likewise.
23741         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
23742         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
23743         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
23744         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
23745         * doc/posix-functions/fputws.texi (fputws): Likewise.
23746         * doc/posix-functions/fwide.texi (fwide): Likewise.
23747         * doc/posix-functions/getwc.texi (getwc): Likewise.
23748         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
23749         * doc/posix-functions/putwc.texi (putwc): Likewise.
23750         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
23751         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
23752         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
23753         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
23754         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
23755         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
23756         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
23757         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
23758         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
23759         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
23760         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
23761
23762 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
23763
23764         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
23765         * lib/ioctl.c: Include <sys/ioctl.h>.
23766
23767 2009-01-19  Simon Josefsson  <simon@josefsson.org>
23768
23769         * modules/getdate-tests (Depends-on): Add progname.
23770         * tests/test-getdate.c: Use progname module, to avoid link errors
23771         on non-glibc systems.
23772
23773 2009-01-18  Simon Josefsson  <simon@josefsson.org>
23774
23775         * modules/filenamecat-tests (Depends-on): Add progname.
23776         * modules/fstrcmp-tests (Depends-on): Likewise.
23777
23778         * tests/test-filenamecat.c: Use progname module, to avoid link
23779         errors on non-glibc systems.
23780         * tests/test-fstrcmp.c: Likewise.
23781
23782 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
23783
23784         gettimeofday: avoid warning: nested extern declaration of 'localtime'
23785         * lib/gettimeofday.c: Move extern declaration out of function.
23786
23787 2009-01-18  Bruno Haible  <bruno@clisp.org>
23788
23789         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
23790         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
23791         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
23792
23793 2009-01-18  Bruno Haible  <bruno@clisp.org>
23794
23795         * lib/strftime.c (MEMPCPY): Remove unused macro.
23796         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
23797
23798 2009-01-18  Martin Lambers  <marlam@marlam.de>
23799
23800         New module 'link'.
23801         * lib/unistd.in.h (link): New declaration.
23802         * lib/link.c: New file.
23803         * m4/link.m4: New file.
23804         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
23805         HAVE_LINK.
23806         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
23807         * modules/link: New file.
23808         * doc/posix-functions/link.texi: Mention the new module.
23809
23810 2009-01-18  Bruno Haible  <bruno@clisp.org>
23811
23812         * tests/test-avltree_list.c (main): Call set_program_name.
23813         * tests/test-avltree_oset.c (main): Likewise.
23814         * tests/test-obstack-printf.c: Include progname.h.
23815         (main): Call set_program_name.
23816         * tests/test-quotearg.c: Include progname.h.
23817         (main): Call set_program_name.
23818         * tests/test-xmemdup0.c: Include progname.h.
23819         (main): Call set_program_name.
23820
23821 2009-01-18  Bruno Haible  <bruno@clisp.org>
23822
23823         New module 'alphasort'.
23824         * lib/dirent.in.h (alphasort): New declaration.
23825         * lib/alphasort.c: New file, from glibc with modifications.
23826         * m4/alphasort.m4: New file.
23827         * modules/alphasort: New file.
23828         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
23829         HAVE_ALPHASORT.
23830         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
23831         HAVE_ALPHASORT.
23832         * doc/posix-functions/alphasort.texi: Mention the new module and the
23833         portability problems.
23834
23835 2009-01-18  Bruno Haible  <bruno@clisp.org>
23836
23837         New module 'scandir'.
23838         * lib/dirent.in.h (scandir): New declaration.
23839         * lib/scandir.c: New file, from glibc with modifications.
23840         * m4/scandir.m4: New file.
23841         * modules/scandir: New file.
23842         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
23843         HAVE_SCANDIR.
23844         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
23845         HAVE_SCANDIR.
23846         * doc/posix-functions/scandir.texi: Mention the new module and the
23847         portability problems.
23848
23849 2009-01-17  Bruno Haible  <bruno@clisp.org>
23850
23851         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
23852         Update documentation.
23853         (func_remove_suffix): Escape all dots in the suffix. Update
23854         documentation.
23855         (func_filter_filelist): Update documentation.
23856         Reported by Ralf Wildenhues.
23857
23858 2009-01-17  Bruno Haible  <bruno@clisp.org>
23859
23860         * modules/dprintf-posix-tests: New file.
23861         * tests/test-dprintf-posix.sh: New file.
23862         * tests/test-dprintf-posix.c: New file.
23863
23864         New modules 'dprintf', 'dprintf-posix'.
23865         * lib/stdio.in.h (dprintf): New declaration.
23866         * lib/dprintf.c: New file.
23867         * m4/dprintf.m4: New file.
23868         * m4/dprintf-posix.m4: New file.
23869         * modules/dprintf: New file.
23870         * modules/dprintf-posix: New file.
23871         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
23872         HAVE_DPRINTF, REPLACE_DPRINTF.
23873         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
23874         HAVE_DPRINTF, REPLACE_DPRINTF.
23875         * doc/posix-functions/dprintf.texi: Mention the new modules.
23876
23877 2009-01-17  Bruno Haible  <bruno@clisp.org>
23878
23879         * modules/vdprintf-posix-tests: New file.
23880         * tests/test-vdprintf-posix.sh: New file.
23881         * tests/test-vdprintf-posix.c: New file.
23882
23883         New modules 'vdprintf', 'vdprintf-posix'.
23884         * lib/stdio.in.h (vdprintf): New declaration.
23885         * lib/vdprintf.c: New file.
23886         * m4/vdprintf.m4: New file.
23887         * m4/vdprintf-posix.m4: New file.
23888         * modules/vdprintf: New file.
23889         * modules/vdprintf-posix: New file.
23890         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
23891         HAVE_VDPRINTF, REPLACE_VDPRINTF.
23892         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
23893         HAVE_VDPRINTF, REPLACE_VDPRINTF.
23894         * doc/posix-functions/vdprintf.texi: Mention the new modules.
23895
23896 2009-01-17  Bruno Haible  <bruno@clisp.org>
23897
23898         Fix replacement of fopen on mingw.
23899         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
23900         mingw.
23901
23902 2009-01-17  Bruno Haible  <bruno@clisp.org>
23903
23904         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
23905         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
23906
23907 2009-01-17  Bruno Haible  <bruno@clisp.org>
23908
23909         Avoid test-fflush2.sh failure on mingw.
23910         * tests/test-fflush2.c: Include binary-io.h.
23911         (main): Put standard input into binary mode.
23912         * modules/fflush-tests (Depends-on): Add binary-io.
23913
23914 2009-01-17  Bruno Haible  <bruno@clisp.org>
23915
23916         * lib/wchar.in.h: In another particular situation, include only the
23917         system's <wchar.h> file.
23918         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
23919         Reported by Albert Chin-A-Young <china@thewrittenword.com>
23920         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
23921
23922 2009-01-17  Bruno Haible  <bruno@clisp.org>
23923
23924         Support for stripping executables in --enable-relocatable.
23925         * build-aux/install-reloc: Expect one more argument, or an environment
23926         variable RELOC_STRIP_PROG. If set, strip the destination program and
23927         its wrapper.
23928         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
23929         RELOC_STRIP_PROG.
23930         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
23931         to set RELOCATABLE_STRIP.
23932         * NEWS: Mention the new Makefile requirement.
23933
23934 2009-01-17  Bruno Haible  <bruno@clisp.org>
23935
23936         * build-aux/install-reloc: Remove debugging information left over by
23937         C compiler on MacOS X.
23938
23939 2009-01-17  Bruno Haible  <bruno@clisp.org>
23940
23941         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
23942         * lib/progreloc.c (find_executable): Fix type of pointer passed to
23943         _NSGetExecutablePath.
23944
23945 2009-01-16  Jim Meyering  <meyering@redhat.com>
23946
23947         strerror: avoid warnings about discarding "const"
23948         * lib/strerror.c (rpl_strerror): Instead of returning a const
23949         string from each and every "case", use a variable, and add a single
23950         cast after the switch.
23951
23952 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
23953
23954         * lib/arpa_inet.in.h: Add extern "C" block for C++.
23955
23956 2009-01-16  Bruno Haible  <bruno@clisp.org>
23957
23958         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
23959         array initializer syntax that also works in C++ mode.
23960         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
23961
23962 2009-01-16  Jim Meyering  <meyering@redhat.com>
23963
23964         poll: suppress a warning
23965         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
23966         to ignore "...unsigned expression < 0 is always false" warnings.
23967
23968 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
23969
23970         poll: remove declarations of unused variables
23971         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
23972         sockbuf and optlen.
23973
23974 2009-01-15  Bruno Haible  <bruno@clisp.org>
23975
23976         Make fflush-after-ungetc POSIX compliant on BSD systems.
23977         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
23978         (clear_ungetc_buffer): Implement also for other systems.
23979         (rpl_fflush): On glibc systems, invoke
23980         clear_ungetc_buffer_preserving_position. Otherwise, invoke
23981         clear_ungetc_buffer after fetching the stream's position, not before.
23982
23983 2009-01-15  Bruno Haible  <bruno@clisp.org>
23984
23985         Make fflush-after-ungetc POSIX compliant on glibc systems.
23986         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
23987         after ungetc.
23988         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
23989         (rpl_fflush): On glibc systems, simply call the system's fflush
23990         function after clearing the ungetc buffer.
23991         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
23992         Instead, lseek only to the end of file, then use the system's fseeko
23993         for the rest. On glibc systems, reset the EOF indicator bit.
23994
23995 2009-01-15  Jim Meyering  <meyering@redhat.com>
23996
23997         openmp.m4: revert quote-adding change, for portability to older autoconf
23998         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
23999         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
24000         Simon Josefsson noticed the problem when using autoconf-2.61.
24001
24002 2009-01-15  Bruno Haible  <bruno@clisp.org>
24003
24004         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
24005         * tests/test-fflush2.c (ASSERT): Always fail.
24006         (main): Add two tests for fflush() after ungetc(), taking into account
24007         the Austin Group's clarification.
24008         Suggested by Eric Blake.
24009
24010 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
24011
24012         mktime.m4: remove K&R-style function prototypes
24013         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
24014         for the Sun C++ compiler.
24015
24016 2009-01-14  Bruno Haible  <bruno@clisp.org>
24017
24018         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
24019         while including <wchar.h>.
24020         * lib/wchar.in.h: In two particular situations on HP-UX, include only
24021         the system's <wchar.h> file.
24022         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
24023
24024 2009-01-14  Bruno Haible  <bruno@clisp.org>
24025
24026         * m4/csharp.m4: Don't mention gettext on the serial number line.
24027         * m4/csharpexec.m4: Likewise.
24028         * m4/eaccess.m4: Likewise.
24029         * m4/javaexec.m4: Likewise.
24030         * m4/sig_atomic_t.m4: Likewise.
24031         * m4/tmpdir.m4: Likewise.
24032         * m4/intldir.m4: Bump gettext version.
24033         * m4/lib-ld.m4: Likewise.
24034
24035 2009-01-14  Bruno Haible  <bruno@clisp.org>
24036
24037         * lib/progname.c (set_program_name): Add more comments.
24038         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
24039
24040 2009-01-14  Simon Josefsson  <simon@josefsson.org>
24041
24042         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
24043         were sys/stat.h does not define it.
24044
24045 2009-01-14  Jim Meyering  <meyering@redhat.com>
24046
24047         many *.m4 files: improve m4 quoting
24048         99% of this change was performed by running the following commands:
24049         git ls-files | grep '\.m4$' | xargs perl -pi \
24050           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
24051           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
24052           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
24053           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
24054         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
24055         The remainder were to add Copyright dates, increment serial numbers,
24056         undo some changes in comments, exclude m4/intl.m4, and add quotes
24057         around the "1" in ",1" where the unusual spacing prohibited the
24058         above regexps from doing the job.  For more details, see
24059         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
24060         * m4/acl.m4: Modified.
24061         * m4/afs.m4: Likewise.
24062         * m4/alloca.m4: Likewise.
24063         * m4/argp.m4: Likewise.
24064         * m4/argz.m4: Likewise.
24065         * m4/atexit.m4: Likewise.
24066         * m4/bison-i18n.m4: Likewise.
24067         * m4/bison.m4: Likewise.
24068         * m4/byteswap.m4: Likewise.
24069         * m4/c-stack.m4: Likewise.
24070         * m4/c-strtod.m4: Likewise.
24071         * m4/calloc.m4: Likewise.
24072         * m4/canonicalize-lgpl.m4: Likewise.
24073         * m4/chown.m4: Likewise.
24074         * m4/clock_time.m4: Likewise.
24075         * m4/codeset.m4: Likewise.
24076         * m4/copy-file.m4: Likewise.
24077         * m4/csharp.m4: Likewise.
24078         * m4/csharpcomp.m4: Likewise.
24079         * m4/csharpexec.m4: Likewise.
24080         * m4/d-ino.m4: Likewise.
24081         * m4/d-type.m4: Likewise.
24082         * m4/dirfd.m4: Likewise.
24083         * m4/double-slash-root.m4: Likewise.
24084         * m4/eaccess.m4: Likewise.
24085         * m4/eealloc.m4: Likewise.
24086         * m4/environ.m4: Likewise.
24087         * m4/errno_h.m4: Likewise.
24088         * m4/euidaccess.m4: Likewise.
24089         * m4/execute.m4: Likewise.
24090         * m4/fatal-signal.m4: Likewise.
24091         * m4/fchdir.m4: Likewise.
24092         * m4/fcntl_h.m4: Likewise.
24093         * m4/fileblocks.m4: Likewise.
24094         * m4/filenamecat.m4: Likewise.
24095         * m4/findprog.m4: Likewise.
24096         * m4/flexmember.m4: Likewise.
24097         * m4/fnmatch.m4: Likewise.
24098         * m4/fopen.m4: Likewise.
24099         * m4/fpending.m4: Likewise.
24100         * m4/fprintf-posix.m4: Likewise.
24101         * m4/free.m4: Likewise.
24102         * m4/frexp.m4: Likewise.
24103         * m4/frexpl.m4: Likewise.
24104         * m4/fsusage.m4: Likewise.
24105         * m4/ftruncate.m4: Likewise.
24106         * m4/gc-camellia.m4: Likewise.
24107         * m4/gc-random.m4: Likewise.
24108         * m4/gc.m4: Likewise.
24109         * m4/getaddrinfo.m4: Likewise.
24110         * m4/getcwd-abort-bug.m4: Likewise.
24111         * m4/getcwd-path-max.m4: Likewise.
24112         * m4/getdate.m4: Likewise.
24113         * m4/getdomainname.m4: Likewise.
24114         * m4/getgroups.m4: Likewise.
24115         * m4/gethostname.m4: Likewise.
24116         * m4/gethrxtime.m4: Likewise.
24117         * m4/getline.m4: Likewise.
24118         * m4/getloadavg.m4: Likewise.
24119         * m4/getndelim2.m4: Likewise.
24120         * m4/getpass.m4: Likewise.
24121         * m4/gettext.m4: Likewise.
24122         * m4/gettime.m4: Likewise.
24123         * m4/gettimeofday.m4: Likewise.
24124         * m4/gnulib-common.m4: Likewise.
24125         * m4/group-member.m4: Likewise.
24126         * m4/host-os.m4: Likewise.
24127         * m4/iconv.m4: Likewise.
24128         * m4/iconv_open.m4: Likewise.
24129         * m4/inet_ntop.m4: Likewise.
24130         * m4/inet_pton.m4: Likewise.
24131         * m4/inline.m4: Likewise.
24132         * m4/intldir.m4: Likewise.
24133         * m4/intlmacosx.m4: Likewise.
24134         * m4/intmax.m4: Likewise.
24135         * m4/intmax_t.m4: Likewise.
24136         * m4/inttypes.m4: Likewise.
24137         * m4/inttypes_h.m4: Likewise.
24138         * m4/inttypes-pri.m4: Likewise.
24139         * m4/isapipe.m4: Likewise.
24140         * m4/isnand.m4: Likewise.
24141         * m4/isnanf.m4: Likewise.
24142         * m4/isnanl.m4: Likewise.
24143         * m4/javacomp.m4: Likewise.
24144         * m4/javaexec.m4: Likewise.
24145         * m4/jm-winsz1.m4: Likewise.
24146         * m4/jm-winsz2.m4: Likewise.
24147         * m4/lchown.m4: Likewise.
24148         * m4/lcmessage.m4: Likewise.
24149         * m4/ldexpl.m4: Likewise.
24150         * m4/lib-ld.m4: Likewise.
24151         * m4/lib-link.m4: Likewise.
24152         * m4/libsigsegv.m4: Likewise.
24153         * m4/link-follow.m4: Likewise.
24154         * m4/localcharset.m4: Likewise.
24155         * m4/locale-fr.m4: Likewise.
24156         * m4/locale-ja.m4: Likewise.
24157         * m4/locale-tr.m4: Likewise.
24158         * m4/locale-zh.m4: Likewise.
24159         * m4/lock.m4: Likewise.
24160         * m4/longlong.m4: Likewise.
24161         * m4/ls-mntd-fs.m4: Likewise.
24162         * m4/lstat.m4: Likewise.
24163         * m4/malloc.m4: Likewise.
24164         * m4/mathl.m4: Likewise.
24165         * m4/mbrtowc.m4: Likewise.
24166         * m4/mbstate_t.m4: Likewise.
24167         * m4/mbswidth.m4: Likewise.
24168         * m4/memchr.m4: Likewise.
24169         * m4/memcmp.m4: Likewise.
24170         * m4/memcpy.m4: Likewise.
24171         * m4/memmem.m4: Likewise.
24172         * m4/memmove.m4: Likewise.
24173         * m4/mempcpy.m4: Likewise.
24174         * m4/memrchr.m4: Likewise.
24175         * m4/memset.m4: Likewise.
24176         * m4/minmax.m4: Likewise.
24177         * m4/mkdir-slash.m4: Likewise.
24178         * m4/mkdtemp.m4: Likewise.
24179         * m4/mktime.m4: Likewise.
24180         * m4/mmap-anon.m4: Likewise.
24181         * m4/mountlist.m4: Likewise.
24182         * m4/nanosleep.m4: Likewise.
24183         * m4/nls.m4: Likewise.
24184         * m4/nocrash.m4: Likewise.
24185         * m4/open.m4: Likewise.
24186         * m4/openat.m4: Likewise.
24187         * m4/openmp.m4: Likewise.
24188         * m4/pathmax.m4: Likewise.
24189         * m4/perl.m4: Likewise.
24190         * m4/physmem.m4: Likewise.
24191         * m4/pipe.m4: Likewise.
24192         * m4/po.m4: Likewise.
24193         * m4/poll.m4: Likewise.
24194         * m4/posixtm.m4: Likewise.
24195         * m4/posixver.m4: Likewise.
24196         * m4/printf-frexp.m4: Likewise.
24197         * m4/printf-frexpl.m4: Likewise.
24198         * m4/printf-posix.m4: Likewise.
24199         * m4/printf-posix-rpl.m4: Likewise.
24200         * m4/printf.m4: Likewise.
24201         * m4/progtest.m4: Likewise.
24202         * m4/putenv.m4: Likewise.
24203         * m4/readline.m4: Likewise.
24204         * m4/readlink.m4: Likewise.
24205         * m4/readutmp.m4: Likewise.
24206         * m4/realloc.m4: Likewise.
24207         * m4/regex.m4: Likewise.
24208         * m4/relocatable.m4: Likewise.
24209         * m4/relocatable-lib.m4: Likewise.
24210         * m4/rename-dest-slash.m4: Likewise.
24211         * m4/rename.m4: Likewise.
24212         * m4/rmdir-errno.m4: Likewise.
24213         * m4/rmdir.m4: Likewise.
24214         * m4/roundf.m4: Likewise.
24215         * m4/roundl.m4: Likewise.
24216         * m4/rpmatch.m4: Likewise.
24217         * m4/save-cwd.m4: Likewise.
24218         * m4/selinux-selinux-h.m4: Likewise.
24219         * m4/setenv.m4: Likewise.
24220         * m4/settime.m4: Likewise.
24221         * m4/sig2str.m4: Likewise.
24222         * m4/sig_atomic_t.m4: Likewise.
24223         * m4/signalblocking.m4: Likewise.
24224         * m4/signbit.m4: Likewise.
24225         * m4/sigpipe.m4: Likewise.
24226         * m4/sockets.m4: Likewise.
24227         * m4/sockpfaf.m4: Likewise.
24228         * m4/st_dm_mode.m4: Likewise.
24229         * m4/stat-time.m4: Likewise.
24230         * m4/stdbool.m4: Likewise.
24231         * m4/stdint.m4: Likewise.
24232         * m4/stdint_h.m4: Likewise.
24233         * m4/stpcpy.m4: Likewise.
24234         * m4/stpncpy.m4: Likewise.
24235         * m4/strcase.m4: Likewise.
24236         * m4/strchrnul.m4: Likewise.
24237         * m4/strcspn.m4: Likewise.
24238         * m4/strdup.m4: Likewise.
24239         * m4/strftime.m4: Likewise.
24240         * m4/strndup.m4: Likewise.
24241         * m4/strnlen.m4: Likewise.
24242         * m4/strpbrk.m4: Likewise.
24243         * m4/strptime.m4: Likewise.
24244         * m4/strsep.m4: Likewise.
24245         * m4/strtod.m4: Likewise.
24246         * m4/strtoimax.m4: Likewise.
24247         * m4/strtok_r.m4: Likewise.
24248         * m4/strtol.m4: Likewise.
24249         * m4/strtoll.m4: Likewise.
24250         * m4/strtoul.m4: Likewise.
24251         * m4/strtoull.m4: Likewise.
24252         * m4/strtoumax.m4: Likewise.
24253         * m4/strverscmp.m4: Likewise.
24254         * m4/threadlib.m4: Likewise.
24255         * m4/timegm.m4: Likewise.
24256         * m4/tm_gmtoff.m4: Likewise.
24257         * m4/tmpdir.m4: Likewise.
24258         * m4/tmpfile.m4: Likewise.
24259         * m4/tzset.m4: Likewise.
24260         * m4/uintmax_t.m4: Likewise.
24261         * m4/unlinkdir.m4: Likewise.
24262         * m4/unlocked-io.m4: Likewise.
24263         * m4/uptime.m4: Likewise.
24264         * m4/userspec.m4: Likewise.
24265         * m4/utimbuf.m4: Likewise.
24266         * m4/utime.m4: Likewise.
24267         * m4/utimes-null.m4: Likewise.
24268         * m4/utimes.m4: Likewise.
24269         * m4/vararrays.m4: Likewise.
24270         * m4/vasnprintf.m4: Likewise.
24271         * m4/vfprintf-posix.m4: Likewise.
24272         * m4/vprintf-posix.m4: Likewise.
24273         * m4/wait-process.m4: Likewise.
24274         * m4/wchar_t.m4: Likewise.
24275         * m4/wint_t.m4: Likewise.
24276         * m4/write-any-file.m4: Likewise.
24277         * m4/yield.m4: Likewise.
24278
24279 2009-01-13  Bruno Haible  <bruno@clisp.org>
24280
24281         Avoid test-copy-file.sh failures when ACL support insufficient.
24282         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
24283         TESTS_ENVIRONMENT.
24284         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
24285         Reported by Jim Meyering.
24286
24287 2009-01-13  Bruno Haible  <bruno@clisp.org>
24288
24289         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
24290         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
24291         * modules/unistdio/u8-printf-parse (Files): Likewise.
24292         * modules/unistdio/u32-printf-parse (Files): Likewise.
24293         * modules/unistdio/ulc-printf-parse (Files): Likewise.
24294
24295 2009-01-13  Simon Josefsson  <simon@josefsson.org>
24296
24297         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
24298         and m4/inttypes_h.m4 too.
24299
24300 2009-01-12  Eric Blake  <ebb9@byu.net>
24301
24302         tests: IRIX 6.2 cc can't compile -0.0 into .data
24303         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
24304         rather than at compile-time.
24305         * tests/test-floorl.c (minus_zero): Likewise.
24306         * tests/test-frexpl.c (minus_zero): Likewise.
24307         * tests/test-isnan.c (minus_zerol): Likewise.
24308         * tests/test-isnanl.h (minus_zero): Likewise.
24309         * tests/test-ldexpl.c (minus_zero): Likewise.
24310         * tests/test-roundl.c (minus_zero): Likewise.
24311         * tests/test-signbit.c (minus_zerol): Likewise.
24312         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
24313         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
24314         * tests/test-truncl.c (minus_zero): Likewise.
24315         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
24316         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
24317         Reported by Tom G. Christensen and Nelson H. F. Beebe.
24318
24319 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
24320
24321         regex: fix glibc bug 9697
24322         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
24323         handling.
24324
24325 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
24326
24327         regex: fix glibc bug 697
24328         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
24329         being NULL also if there are no backreferences.
24330
24331 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
24332
24333         regex: merge glibc changes
24334         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
24335         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
24336         re_string_skip_chars, re_string_reconstruct): Likewise.
24337         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
24338
24339 2009-01-07  Jim Meyering  <meyering@redhat.com>
24340
24341         poll: filter through cppi
24342         * lib/poll.c: Indent cpp directives to reflect nesting.
24343
24344 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
24345
24346         poll: don't return uninitialized
24347         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
24348
24349 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
24350
24351         avoid compile failure on AIX 6.1
24352         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
24353         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
24354
24355 2009-01-04  Jim Meyering  <meyering@redhat.com>
24356
24357         remove duplicate inclusion of <stdio.h>
24358         * tests/test-fprintf-posix.c: Likewise.
24359         * tests/test-printf-posix.c: Likewise.
24360         * tests/test-snprintf-posix.c: Likewise.
24361         * tests/test-sprintf-posix.c: Likewise.
24362         * tests/test-vasprintf-posix.c: Likewise.
24363         * tests/test-vfprintf-posix.c: Likewise.
24364         * tests/test-vprintf-posix.c: Likewise.
24365         * tests/test-vsnprintf-posix.c: Likewise.
24366         * tests/test-vsprintf-posix.c: Likewise.
24367
24368 2009-01-03  Jim Meyering  <meyering@redhat.com>
24369
24370         gnulib-tool: fix sed-based filtering
24371         * gnulib-tool (func_filter_filelist): Remove extra backslash
24372         in sed_fff_filter definition.
24373
24374 2009-01-02  Jim Meyering  <meyering@redhat.com>
24375
24376         strftime: avoid compilation failure on Solaris 2.6
24377         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
24378         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
24379         Don't #define mbrlen or mbsinit, since now they're guaranteed to
24380         be available.  Reported by Tom G. Christensen.  Details in
24381         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
24382
24383 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24384             Bruno Haible  <bruno@clisp.org>
24385
24386         Speed up gnulib-tool by doing more string processing through shell
24387         built-ins.
24388         * gnulib-tool (fast_func_append): New variable.
24389         (func_remove_prefix, func_remove_suffix): New functions.
24390         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
24391         (func_filter_filelist): New function.
24392         (func_get_dependencies): Use func_remove_suffix instead of sed.
24393         (func_get_automake_snippet): Use func_filter_filelist instead of a
24394         subshell and sed invocation.
24395
24396 2009-01-01  Bruno Haible  <bruno@clisp.org>
24397
24398         Fix a security bug.
24399         * gnulib-tool (func_import, import, update): Don't allow the characters
24400         '"', '$', '`', '\' in macro arguments that become part of commands that
24401         are evaluated.
24402
24403 2009-01-01  Bruno Haible  <bruno@clisp.org>
24404
24405         * gnulib-tool (func_reset_sigpipe): Add more comments.
24406
24407 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24408
24409         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
24410         func_emit_tests_Makefile_am, func_import): Abort loops early if we
24411         already know the answer.
24412
24413 2009-01-01  Jim Meyering  <meyering@redhat.com>
24414
24415         * lib/version-etc.c (version_etc_va): Update copyright year.
24416
24417 2008-12-30  Bruno Haible  <bruno@clisp.org>
24418
24419         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
24420         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
24421         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
24422
24423 2008-12-29  Eric Blake  <ebb9@byu.net>
24424
24425         multiarch: avoid autoconf AC_REQUIRE bug
24426         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
24427         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
24428         2.63 and older.
24429         Reported by Bruno Haible, and analyzed in
24430         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
24431
24432 2008-12-29  Bruno Haible  <bruno@clisp.org>
24433
24434         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
24435         files in subdirectories correctly.
24436         Reported by Ralf Wildenhues.
24437
24438 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24439
24440         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
24441         rather than 'join FILE -', for Solaris join.
24442
24443 2008-12-29  Bruno Haible  <bruno@clisp.org>
24444
24445         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
24446         quoting.
24447         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
24448         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
24449         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
24450         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
24451         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
24452         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
24453         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
24454         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
24455         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
24456         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
24457         * m4/nls.m4 (AM_NLS): Likewise.
24458         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
24459         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
24460         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
24461         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
24462         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
24463         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
24464         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
24465         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
24466         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
24467         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
24468         * m4/xsize.m4 (gl_XSIZE): Likewise.
24469         Suggested by Jim Meyering.
24470
24471 2008-11-17  Bruce Korb  <bkorb@gnu.org>
24472
24473         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
24474         * lib/parse-duration.c: use a switch instead of cascading if's.
24475
24476 2008-12-29  Eric Blake  <ebb9@byu.net>
24477
24478         wchar.h: supply WEOF on Irix 5.3
24479         * lib/wchar.in.h (wint_t): Also supply WEOF.
24480         * lib/wctype.in.h (wint_t): Likewise.
24481         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
24482         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
24483         Reported by Tom G. Christensen.
24484
24485 2008-12-26  Bruno Haible  <bruno@clisp.org>
24486
24487         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
24488         i486, i586, i686.
24489
24490 2008-12-26  Bruno Haible  <bruno@clisp.org>
24491
24492         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
24493
24494 2008-12-26  Bruno Haible  <bruno@clisp.org>
24495
24496         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
24497         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
24498         not __STDC_CONSTANT_MACROS.
24499         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
24500
24501 2008-12-25  Bruno Haible  <bruno@clisp.org>
24502
24503         Add support for universal builds to vasnprintf.
24504         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
24505         universal builds, guess no.
24506         * modules/vasnprintf-posix (Depends-on): Add multiarch.
24507         * modules/vasprintf-posix (Depends-on): Likewise.
24508         * modules/fprintf-posix (Depends-on): Likewise.
24509         * modules/vfprintf-posix (Depends-on): Likewise.
24510         * modules/snprintf-posix (Depends-on): Likewise.
24511         * modules/vsnprintf-posix (Depends-on): Likewise.
24512         * modules/sprintf-posix (Depends-on): Likewise.
24513         * modules/vsprintf-posix (Depends-on): Likewise.
24514         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
24515         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
24516         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
24517         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
24518         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
24519         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
24520         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
24521
24522         Add support for universal builds to <inttypes.h>.
24523         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
24524         _SCNu64_PREFIX): In Apple
24525         universal builds, define directly, using _LP64.
24526         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
24527         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
24528         * modules/inttypes (Depends-on): Add multiarch.
24529         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
24530
24531         Add support for universal builds to <stdint.h>.
24532         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
24533         universal builds, define directly, using _LP64.
24534         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
24535         Apple universal builds, don't test for the size and suffix of ptrdiff_t
24536         and size_t.
24537         * modules/stdint (Depends-on): Add multiarch.
24538         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
24539
24540         New module 'multiarch'.
24541         * modules/multiarch: New file.
24542         * m4/multiarch.m4: New file.
24543
24544 2008-12-25  Bruno Haible  <bruno@clisp.org>
24545
24546         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
24547
24548 2008-12-25  Bruno Haible  <bruno@clisp.org>
24549
24550         * modules/btowc (License): Relicense under LGPLv2+.
24551         * modules/mbsinit (License): Likewise.
24552         * modules/mbrtowc (License): Likewise.
24553         * modules/wcrtomb (License): Likewise.
24554         * modules/streq (License): Likewise.
24555         Reported by David Lutterkort <lutter@redhat.com>.
24556
24557 2008-12-23  Bruno Haible  <bruno@clisp.org>
24558
24559         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
24560
24561 2008-12-23  Bruno Haible  <bruno@clisp.org>
24562
24563         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
24564         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
24565         GETADDRINFO_LIB, not in LIBS.
24566         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
24567         * modules/canon-host (Link): Likewise.
24568         * NEWS: Mention the change.
24569         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
24570         GETADDRINFO_LIB.
24571
24572 2008-12-22  Bruno Haible  <bruno@clisp.org>
24573
24574         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
24575         * doc/posix-functions/iswalpha_l.texi: Likewise.
24576         * doc/posix-functions/iswblank_l.texi: Likewise.
24577         * doc/posix-functions/iswcntrl_l.texi: Likewise.
24578         * doc/posix-functions/iswctype_l.texi: Likewise.
24579         * doc/posix-functions/iswdigit_l.texi: Likewise.
24580         * doc/posix-functions/iswgraph_l.texi: Likewise.
24581         * doc/posix-functions/iswlower_l.texi: Likewise.
24582         * doc/posix-functions/iswprint_l.texi: Likewise.
24583         * doc/posix-functions/iswpunct_l.texi: Likewise.
24584         * doc/posix-functions/iswspace_l.texi: Likewise.
24585         * doc/posix-functions/iswupper_l.texi: Likewise.
24586         * doc/posix-functions/iswxdigit_l.texi: Likewise.
24587         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
24588         * doc/posix-functions/open_wmemstream.texi: Likewise.
24589         * doc/posix-functions/swscanf.texi: Likewise.
24590         * doc/posix-functions/towctrans_l.texi: Likewise.
24591         * doc/posix-functions/towlower.texi: Likewise.
24592         * doc/posix-functions/towlower_l.texi: Likewise.
24593         * doc/posix-functions/towupper.texi: Likewise.
24594         * doc/posix-functions/towupper_l.texi: Likewise.
24595         * doc/posix-functions/vfwprintf.texi: Likewise.
24596         * doc/posix-functions/vfwscanf.texi: Likewise.
24597         * doc/posix-functions/vswscanf.texi: Likewise.
24598         * doc/posix-functions/vwprintf.texi: Likewise.
24599         * doc/posix-functions/vwscanf.texi: Likewise.
24600         * doc/posix-functions/wcpcpy.texi: Likewise.
24601         * doc/posix-functions/wcpncpy.texi: Likewise.
24602         * doc/posix-functions/wcscasecmp.texi: Likewise.
24603         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
24604         * doc/posix-functions/wcscoll_l.texi: Likewise.
24605         * doc/posix-functions/wcsdup.texi: Likewise.
24606         * doc/posix-functions/wcsncasecmp.texi: Likewise.
24607         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
24608         * doc/posix-functions/wcsnlen.texi: Likewise.
24609         * doc/posix-functions/wcsnrtombs.texi: Likewise.
24610         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
24611         * doc/posix-functions/wctrans_l.texi: Likewise.
24612         * doc/posix-functions/wctype_l.texi: Likewise.
24613         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
24614         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
24615         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
24616         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
24617         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
24618         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
24619         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
24620         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
24621         * doc/glibc-functions/wcschrnul.texi: Likewise.
24622         * doc/glibc-functions/wcsftime_l.texi: Likewise.
24623         * doc/glibc-functions/wcstod_l.texi: Likewise.
24624         * doc/glibc-functions/wcstof_l.texi: Likewise.
24625         * doc/glibc-functions/wcstol_l.texi: Likewise.
24626         * doc/glibc-functions/wcstold_l.texi: Likewise.
24627         * doc/glibc-functions/wcstoll_l.texi: Likewise.
24628         * doc/glibc-functions/wcstoq.texi: Likewise.
24629         * doc/glibc-functions/wcstoul_l.texi: Likewise.
24630         * doc/glibc-functions/wcstoull_l.texi: Likewise.
24631         * doc/glibc-functions/wcstouq.texi: Likewise.
24632         * doc/glibc-functions/wmempcpy.texi: Likewise.
24633
24634 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
24635             Eric Blake  <ebb9@byu.net>
24636             Paolo Bonzini  <bonzini@gnu.org>
24637             Bruno Haible  <bruno@clisp.org>
24638
24639         Make c-stack work on Haiku.
24640         * lib/c-stack.c (SA_ONSTACK): Define fallback.
24641         (c_stack_action): Use SA_ONSTACK flag.
24642
24643 2008-12-22  Bruno Haible  <bruno@clisp.org>
24644
24645         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
24646
24647 2008-12-22  Bruno Haible  <bruno@clisp.org>
24648
24649         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
24650         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
24651         being overridden.
24652         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
24653         New macros.
24654         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
24655         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
24656         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
24657         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
24658
24659 2008-12-22  Bruno Haible  <bruno@clisp.org>
24660
24661         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
24662         from test code.
24663
24664 2008-12-22  Eric Blake  <ebb9@byu.net>
24665
24666         Avoid gcc warnings on cygwin.
24667         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
24668         Avoid unused variable.
24669         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
24670         Likewise.
24671
24672 2008-12-22  Bruno Haible  <bruno@clisp.org>
24673
24674         Remove HAVE_MBRTOWC conditionals.
24675         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
24676         (mbscasecmp): Assume mbrtowc function.
24677         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
24678         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
24679         * lib/mbschr.c: Include mbuiter.h unconditionally.
24680         (mbschr): Assume mbrtowc function.
24681         * lib/mbscspn.c: Include mbuiter.h unconditionally.
24682         (mbscspn): Assume mbrtowc function.
24683         * lib/mbslen.c: Include mbuiter.h unconditionally.
24684         (mbslen): Assume mbrtowc function.
24685         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
24686         (mbsncasecmp): Assume mbrtowc function.
24687         * lib/mbsnlen.c: Include mbiter.h unconditionally.
24688         (mbsnlen): Assume mbrtowc function.
24689         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
24690         (mbspbrk): Assume mbrtowc function.
24691         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
24692         (mbspcasecmp): Assume mbrtowc function.
24693         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
24694         (mbsrchr): Assume mbrtowc function.
24695         * lib/mbssep.c: Include mbuiter.h unconditionally.
24696         (mbssep): Assume mbrtowc function.
24697         * lib/mbsspn.c: Include mbuiter.h unconditionally.
24698         (mbsspn): Assume mbrtowc function.
24699         * lib/mbsstr.c: Include mbuiter.h unconditionally.
24700         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
24701         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
24702         (mbstok_r): Assume mbrtowc function.
24703         * lib/propername.c: Include mbuiter.h unconditionally.
24704         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
24705         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
24706         (trim2): Assume mbrtowc function.
24707         * lib/mbswidth.c (mbsinit): Remove fallback definition.
24708         (mbsnwidth): Assume mbrtowc function.
24709         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
24710         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
24711         fallback definitions.
24712         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
24713
24714 2008-12-22  Bruno Haible  <bruno@clisp.org>
24715
24716         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
24717
24718 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
24719
24720         * modules/regex: Request emulations for the mb*/wc* functions we need.
24721         * m4/regex.m4: Don't look for those functions here.
24722         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
24723
24724 2008-12-22  Bruno Haible  <bruno@clisp.org>
24725
24726         * modules/fnmatch (Depends-on): Remove duplicated dependency.
24727
24728 2008-12-21  Bruno Haible  <bruno@clisp.org>
24729
24730         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
24731         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
24732         (Include): Remove conditionalization.
24733         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
24734         (Include): Remove conditionalization.
24735         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
24736         (Include): Remove conditionalization.
24737         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
24738         * m4/mbfile.m4 (gl_MBFILE): Likewise.
24739         * NEWS: Mention the change.
24740         Reported by Alan Hourihane <alanh@fairlite.co.uk>
24741         via Sergey Poznyakoff <gray@gnu.org.ua>.
24742
24743 2008-12-21  Bruno Haible  <bruno@clisp.org>
24744
24745         * MODULES.html.sh (Extended multibyte and wide character utilities
24746         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
24747         wcrtomb, wcsrtombs.
24748         (Support for systems lacking POSIX:2008): Add accept, bind, close,
24749         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
24750         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
24751         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
24752
24753 2008-12-21  Bruno Haible  <bruno@clisp.org>
24754
24755         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
24756
24757 2008-12-21  Bruno Haible  <bruno@clisp.org>
24758
24759         * modules/wcsnrtombs-tests: New file.
24760         * tests/test-wcsnrtombs1.sh: New file.
24761         * tests/test-wcsnrtombs2.sh: New file.
24762         * tests/test-wcsnrtombs3.sh: New file.
24763         * tests/test-wcsnrtombs4.sh: New file.
24764         * tests/test-wcsnrtombs.c: New file.
24765
24766         New module 'wcsnrtombs'.
24767         * lib/wchar.in.h (wcsnrtombs): New declaration.
24768         * lib/wcsnrtombs.c: New file.
24769         * lib/wcsrtombs-state.c: New file.
24770         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
24771         (internal_state): Remove variable.
24772         * m4/wcsnrtombs.m4: New file.
24773         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
24774         compilation units.
24775         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
24776         HAVE_WCSNRTOMBS.
24777         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
24778         HAVE_WCSNRTOMBS.
24779         * modules/wcsnrtombs: New file.
24780         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
24781         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
24782
24783 2008-12-21  Bruno Haible  <bruno@clisp.org>
24784
24785         * modules/wcsrtombs-tests: New file.
24786         * tests/test-wcsrtombs1.sh: New file.
24787         * tests/test-wcsrtombs2.sh: New file.
24788         * tests/test-wcsrtombs3.sh: New file.
24789         * tests/test-wcsrtombs4.sh: New file.
24790         * tests/test-wcsrtombs.c: New file.
24791
24792         New module 'wcsrtombs'.
24793         * lib/wchar.in.h (wcsrtombs): New declaration.
24794         * lib/wcsrtombs.c: New file.
24795         * m4/wcsrtombs.m4: New file.
24796         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
24797         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
24798         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
24799         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
24800         * modules/wcsrtombs: New file.
24801         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
24802         bugs.
24803
24804 2008-12-21  Bruno Haible  <bruno@clisp.org>
24805
24806         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
24807         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
24808         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
24809         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
24810         if not correct.
24811         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
24812         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
24813         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
24814         m4/locale-zh.m4, m4/codeset.m4.
24815         * doc/posix-functions/wcrtomb.texi: Document the bug.
24816
24817 2008-12-21  Bruno Haible  <bruno@clisp.org>
24818
24819         Work around a btowc() bug on IRIX 6.5.
24820         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
24821         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
24822         REPLACE_WTOBC if not.
24823         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
24824         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
24825         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
24826
24827 2008-12-21  Bruno Haible  <bruno@clisp.org>
24828
24829         * modules/wcrtomb-tests: New file.
24830         * tests/test-wcrtomb.sh: New file.
24831         * tests/test-wcrtomb.c: New file.
24832
24833         New module 'wcrtomb'.
24834         * lib/wchar.in.h (wcrtomb): New declaration.
24835         * lib/wcrtomb.c: New file.
24836         * m4/wcrtomb.m4: New file.
24837         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
24838         HAVE_WCRTOMB.
24839         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
24840         HAVE_WCRTOMB.
24841         * modules/wcrtomb: New file.
24842         * doc/posix-functions/wcrtomb.texi: Mention the new module.
24843
24844 2008-12-21  Bruno Haible  <bruno@clisp.org>
24845
24846         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
24847         * modules/mbsrtowcs (Files): Likewise.
24848         * modules/wctob (Files): Likewise.
24849         * modules/c-strcase-tests (Files): Likewise.
24850         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
24851         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
24852         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
24853         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
24854         * modules/vasnprintf-posix-tests (Files): Likewise.
24855
24856 2008-12-21  William Pursell  <bill.pursell@gmail.com>
24857
24858         gitlog-to-changelog: pass all command-line arguments to git-log
24859         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
24860         it is sometimes convenient to filter the commits in various ways.
24861         gitlog-to-changelog only allows --since to specify a start date,
24862         but git-log itself supports many other filtering mechanisms.
24863         At the moment, I want to filter by branch name.  Rather than
24864         adding a --branch option to gitlog-to-changelog, it seems more
24865         flexible to simply pass all options directly to git-log and let
24866         git do the work.  Notice that this effectively makes --since a
24867         redundant option for gitlog-to-changelog, but removing it would
24868         require current usage to change since calls would then require
24869         an additional '--'.
24870
24871 2008-12-21  Bruno Haible  <bruno@clisp.org>
24872
24873         * modules/mbsnrtowcs-tests: New file.
24874         * tests/test-mbsnrtowcs1.sh: New file.
24875         * tests/test-mbsnrtowcs2.sh: New file.
24876         * tests/test-mbsnrtowcs3.sh: New file.
24877         * tests/test-mbsnrtowcs4.sh: New file.
24878         * tests/test-mbsnrtowcs.c: New file.
24879
24880         New module 'mbsnrtowcs'.
24881         * lib/wchar.in.h (mbsnrtowcs): New declaration.
24882         * lib/mbsnrtowcs.c: New file.
24883         * lib/mbsrtowcs-state.c: New file.
24884         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
24885         (internal_state): Remove variable.
24886         * m4/mbsnrtowcs.m4: New file.
24887         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
24888         compilation units.
24889         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
24890         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
24891         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
24892         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
24893         * modules/mbsnrtowcs: New file.
24894         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
24895         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
24896         portability problem.
24897
24898 2008-12-21  Bruno Haible  <bruno@clisp.org>
24899
24900         Work around mbsrtowcs bug.
24901         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
24902         (gl_FUNC_MBSRTOWCS): Invoke it.
24903         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
24904         m4/locale-zh.m4.
24905         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
24906
24907 2008-12-21  Bruno Haible  <bruno@clisp.org>
24908
24909         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
24910
24911 2008-12-21  Bruno Haible  <bruno@clisp.org>
24912
24913         Update doc for AIX.
24914         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
24915         16-bit wchar_t type.
24916         * doc/posix-functions/btowc.texi: Likewise.
24917         * doc/posix-functions/fgetwc.texi: Likewise.
24918         * doc/posix-functions/fgetws.texi: Likewise.
24919         * doc/posix-functions/fputwc.texi: Likewise.
24920         * doc/posix-functions/fputws.texi: Likewise.
24921         * doc/posix-functions/fwide.texi: Likewise.
24922         * doc/posix-functions/fwprintf.texi: Likewise.
24923         * doc/posix-functions/fwscanf.texi: Likewise.
24924         * doc/posix-functions/getwchar.texi: Likewise.
24925         * doc/posix-functions/getwc.texi: Likewise.
24926         * doc/posix-functions/iswalnum.texi: Likewise.
24927         * doc/posix-functions/iswalpha.texi: Likewise.
24928         * doc/posix-functions/iswblank.texi: Likewise.
24929         * doc/posix-functions/iswcntrl.texi: Likewise.
24930         * doc/posix-functions/iswctype.texi: Likewise.
24931         * doc/posix-functions/iswdigit.texi: Likewise.
24932         * doc/posix-functions/iswgraph.texi: Likewise.
24933         * doc/posix-functions/iswlower.texi: Likewise.
24934         * doc/posix-functions/iswprint.texi: Likewise.
24935         * doc/posix-functions/iswpunct.texi: Likewise.
24936         * doc/posix-functions/iswspace.texi: Likewise.
24937         * doc/posix-functions/iswupper.texi: Likewise.
24938         * doc/posix-functions/iswxdigit.texi: Likewise.
24939         * doc/posix-functions/mbrtowc.texi: Likewise.
24940         * doc/posix-functions/mbsrtowcs.texi: Likewise.
24941         * doc/posix-functions/mbstowcs.texi: Likewise.
24942         * doc/posix-functions/mbtowc.texi: Likewise.
24943         * doc/posix-functions/putwchar.texi: Likewise.
24944         * doc/posix-functions/putwc.texi: Likewise.
24945         * doc/posix-functions/swprintf.texi: Likewise.
24946         * doc/posix-functions/tolower.texi: Likewise.
24947         * doc/posix-functions/toupper.texi: Likewise.
24948         * doc/posix-functions/towctrans.texi: Likewise.
24949         * doc/posix-functions/ungetwc.texi: Likewise.
24950         * doc/posix-functions/vswprintf.texi: Likewise.
24951         * doc/posix-functions/wcrtomb.texi: Likewise.
24952         * doc/posix-functions/wcscat.texi: Likewise.
24953         * doc/posix-functions/wcschr.texi: Likewise.
24954         * doc/posix-functions/wcscmp.texi: Likewise.
24955         * doc/posix-functions/wcscoll.texi: Likewise.
24956         * doc/posix-functions/wcscpy.texi: Likewise.
24957         * doc/posix-functions/wcscspn.texi: Likewise.
24958         * doc/posix-functions/wcsftime.texi: Likewise.
24959         * doc/posix-functions/wcslen.texi: Likewise.
24960         * doc/posix-functions/wcsncat.texi: Likewise.
24961         * doc/posix-functions/wcsncmp.texi: Likewise.
24962         * doc/posix-functions/wcsncpy.texi: Likewise.
24963         * doc/posix-functions/wcspbrk.texi: Likewise.
24964         * doc/posix-functions/wcsrchr.texi: Likewise.
24965         * doc/posix-functions/wcsrtombs.texi: Likewise.
24966         * doc/posix-functions/wcsspn.texi: Likewise.
24967         * doc/posix-functions/wcsstr.texi: Likewise.
24968         * doc/posix-functions/wcstod.texi: Likewise.
24969         * doc/posix-functions/wcstof.texi: Likewise.
24970         * doc/posix-functions/wcstoimax.texi: Likewise.
24971         * doc/posix-functions/wcstok.texi: Likewise.
24972         * doc/posix-functions/wcstold.texi: Likewise.
24973         * doc/posix-functions/wcstoll.texi: Likewise.
24974         * doc/posix-functions/wcstol.texi: Likewise.
24975         * doc/posix-functions/wcstombs.texi: Likewise.
24976         * doc/posix-functions/wcstoull.texi: Likewise.
24977         * doc/posix-functions/wcstoul.texi: Likewise.
24978         * doc/posix-functions/wcstoumax.texi: Likewise.
24979         * doc/posix-functions/wcswidth.texi: Likewise.
24980         * doc/posix-functions/wcsxfrm.texi: Likewise.
24981         * doc/posix-functions/wctob.texi: Likewise.
24982         * doc/posix-functions/wctomb.texi: Likewise.
24983         * doc/posix-functions/wctrans.texi: Likewise.
24984         * doc/posix-functions/wctype.texi: Likewise.
24985         * doc/posix-functions/wcwidth.texi: Likewise.
24986         * doc/posix-functions/wmemchr.texi: Likewise.
24987         * doc/posix-functions/wmemcmp.texi: Likewise.
24988         * doc/posix-functions/wmemcpy.texi: Likewise.
24989         * doc/posix-functions/wmemmove.texi: Likewise.
24990         * doc/posix-functions/wmemset.texi: Likewise.
24991         * doc/posix-functions/wprintf.texi: Likewise.
24992         * doc/posix-functions/wscanf.texi: Likewise.
24993
24994 2008-12-21  Bruno Haible  <bruno@clisp.org>
24995
24996         Update doc for HP-UX 11.11.
24997         * doc/posix-functions/btowc.texi: Clarify that the function is missing
24998         in HP-UX version 11.00, not in all versions of HP-UX 11.
24999         * doc/posix-functions/fwide.texi: Likewise.
25000         * doc/posix-functions/fwprintf.texi: Likewise.
25001         * doc/posix-functions/fwscanf.texi: Likewise.
25002         * doc/posix-functions/inet_ntop.texi: Likewise.
25003         * doc/posix-functions/inet_pton.texi: Likewise.
25004         * doc/posix-functions/mbrlen.texi: Likewise.
25005         * doc/posix-functions/mbrtowc.texi: Likewise.
25006         * doc/posix-functions/mbsinit.texi: Likewise.
25007         * doc/posix-functions/mbsrtowcs.texi: Likewise.
25008         * doc/posix-functions/swprintf.texi: Likewise.
25009         * doc/posix-functions/swscanf.texi: Likewise.
25010         * doc/posix-functions/towctrans.texi: Likewise.
25011         * doc/posix-functions/vfwprintf.texi: Likewise.
25012         * doc/posix-functions/vswprintf.texi: Likewise.
25013         * doc/posix-functions/vwprintf.texi: Likewise.
25014         * doc/posix-functions/wcrtomb.texi: Likewise.
25015         * doc/posix-functions/wcsrtombs.texi: Likewise.
25016         * doc/posix-functions/wcsstr.texi: Likewise.
25017         * doc/posix-functions/wctob.texi: Likewise.
25018         * doc/posix-functions/wctrans.texi: Likewise.
25019         * doc/posix-functions/wmemchr.texi: Likewise.
25020         * doc/posix-functions/wmemcmp.texi: Likewise.
25021         * doc/posix-functions/wmemcpy.texi: Likewise.
25022         * doc/posix-functions/wmemmove.texi: Likewise.
25023         * doc/posix-functions/wmemset.texi: Likewise.
25024         * doc/posix-functions/wprintf.texi: Likewise.
25025         * doc/posix-functions/wscanf.texi: Likewise.
25026
25027 2008-12-21  Bruno Haible  <bruno@clisp.org>
25028
25029         Work around a portability problem.
25030         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
25031         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
25032
25033 2008-12-20  Bruno Haible  <bruno@clisp.org>
25034
25035         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
25036         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
25037         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
25038         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
25039         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
25040
25041         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
25042         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
25043         set.
25044         (GNULIB_defined_mbstate_t): New macro.
25045         (mbsinit): Redefine if REPLACE_MBSINIT is set.
25046         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
25047         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
25048         reuses the system's mbrtowc function but works around the bugs.
25049         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
25050         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
25051         macros.
25052         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
25053         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
25054         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
25055         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
25056         REPLACE_MBSINIT if mbsinit needs to be overridden.
25057         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
25058         REPLACE_MBSINIT, REPLACE_MBRTOWC.
25059         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
25060         REPLACE_MBSINIT, REPLACE_MBRTOWC.
25061         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
25062         m4/locale-zh.m4.
25063         (Depends): Add mbsinit.
25064         * modules/mbsinit (Depends): Add mbrtowc.
25065         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
25066
25067 2008-12-20  Bruno Haible  <bruno@clisp.org>
25068
25069         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
25070         so that there are no conversion errors on AIX.
25071         * tests/test-mbsrtowcs.c (main): LIkewise.
25072
25073 2008-12-20  Bruno Haible  <bruno@clisp.org>
25074
25075         Work around wctob bug on Solaris <= 9.
25076         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
25077         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
25078         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
25079         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
25080         * modules/wctob (Files): Add m4/locale-fr.m4.
25081         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
25082
25083 2008-12-20  Bruno Haible  <bruno@clisp.org>
25084
25085         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
25086         /dev/null.
25087         * tests/test-select-in.sh: Likewise.
25088         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
25089
25090 2008-12-20  Bruno Haible  <bruno@clisp.org>
25091
25092         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
25093         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
25094         Cygwin 1.5.x.
25095
25096 2008-12-20  Bruno Haible  <bruno@clisp.org>
25097
25098         Ensure mbstate_t is defined on HP-UX 11.11.
25099         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
25100         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
25101         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
25102         AC_USE_SYSTEM_EXTENSIONS.
25103         * modules/fnmatch (Depends-on): Add extensions.
25104         * modules/mbrlen (Depends-on): Likewise.
25105         * modules/mbrtowc (Depends-on): Likewise.
25106         * modules/mbsinit (Depends-on): Likewise.
25107         * modules/mbsrtowcs (Depends-on): Likewise.
25108         * modules/mbswidth (Depends-on): Likewise.
25109         * modules/quotearg (Depends-on): Likewise.
25110         * modules/strftime (Depends-on): Likewise.
25111
25112 2008-12-20  Bruno Haible  <bruno@clisp.org>
25113
25114         Ensure wctob is declared on IRIX 6.5.
25115         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
25116         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
25117         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
25118         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
25119         of HAVE_WCTOB.
25120         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
25121         HAVE_WCTOB.
25122         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
25123
25124 2008-12-19  Bruno Haible  <bruno@clisp.org>
25125
25126         * modules/mbsrtowcs-tests: New file.
25127         * tests/test-mbsrtowcs1.sh: New file.
25128         * tests/test-mbsrtowcs2.sh: New file.
25129         * tests/test-mbsrtowcs3.sh: New file.
25130         * tests/test-mbsrtowcs4.sh: New file.
25131         * tests/test-mbsrtowcs.c: New file.
25132
25133         New module 'mbsrtowcs'.
25134         * lib/wchar.in.h (mbsrtowcs): New declaration.
25135         * lib/mbsrtowcs.c: New file.
25136         * m4/mbsrtowcs.m4: New file.
25137         * modules/mbsrtowcs: New file.
25138         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
25139         HAVE_MBSRTOWCS.
25140         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
25141         HAVE_MBSRTOWCS.
25142         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
25143
25144 2008-12-19  Bruno Haible  <bruno@clisp.org>
25145
25146         New module 'mbrlen'.
25147         * lib/wchar.in.h (mbrlen): New declaration.
25148         * lib/mbrlen.c: New file.
25149         * m4/mbrlen.m4: New file.
25150         * modules/mbrlen: New file.
25151         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
25152         HAVE_MBRLEN.
25153         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
25154         HAVE_MBRLEN.
25155         * doc/posix-functions/mbrlen.texi: Document the new module.
25156
25157 2008-12-19  Bruno Haible  <bruno@clisp.org>
25158
25159         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
25160         * modules/mbrtowc (Depends-on): Add verify.
25161         Suggested by Paul Eggert.
25162
25163 2008-12-18  Bruno Haible  <bruno@clisp.org>
25164
25165         * modules/mbsinit-tests: New file.
25166         * tests/test-mbsinit.sh: New file.
25167         * tests/test-mbsinit.c: New file.
25168
25169 2008-12-18  Bruno Haible  <bruno@clisp.org>
25170
25171         * modules/mbrtowc-tests: New file.
25172         * tests/test-mbrtowc1.sh: New file.
25173         * tests/test-mbrtowc2.sh: New file.
25174         * tests/test-mbrtowc3.sh: New file.
25175         * tests/test-mbrtowc4.sh: New file.
25176         * tests/test-mbrtowc.c: New file.
25177
25178         New module 'mbrtowc'.
25179         * lib/wchar.in.h (mbstate_t): Override when the system does not have
25180         mbsinit and mbrtowc.
25181         (mbrtowc): New declaration.
25182         * lib/mbrtowc.c: New file.
25183         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
25184         * modules/mbrtowc: New file.
25185         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
25186         HAVE_MBRTOWC.
25187         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
25188         HAVE_MBRTOWC.
25189         * doc/posix-functions/mbrtowc.texi: Document the new module.
25190
25191 2008-12-18  Bruno Haible  <bruno@clisp.org>
25192
25193         New module 'wctob'.
25194         * lib/wchar.in.h (wctob): New declaration.
25195         * lib/wctob.c: New file.
25196         * m4/wctob.m4: New file.
25197         * modules/wctob: New file.
25198         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
25199         HAVE_WCTOB.
25200         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
25201         * doc/posix-functions/wctob.texi: Document the new module.
25202
25203 2008-12-18  Bruno Haible  <bruno@clisp.org>
25204
25205         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
25206         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
25207
25208 2008-12-18  Simon Josefsson  <simon@josefsson.org>
25209
25210         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
25211         G. Christensen" <tgc@jupiterrise.com>.
25212
25213         * lib/flock.c: Need to include errno.h.  Reported by "Tom
25214         G. Christensen" <tgc@jupiterrise.com>.
25215
25216         * lib/flock.c: Need to include string.h.  Reported by "Tom
25217         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
25218         <ebb9@byu.net>.
25219
25220 2008-12-18  Bruno Haible  <bruno@clisp.org>
25221
25222         * m4/locale-ja.m4: New file, from GNU gettext.
25223
25224 2008-12-17  Bruno Haible  <bruno@clisp.org>
25225
25226         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
25227         Suggested by Eric Blake.
25228
25229 2008-12-17  Bruno Haible  <bruno@clisp.org>
25230
25231         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
25232
25233 2008-12-17  Bruno Haible  <bruno@clisp.org>
25234
25235         * lib/mbsinit.c: Include verify.h. Verify an assumption.
25236         * modules/mbsinit (Depends-on): Add verify.
25237         Suggested by Paul Eggert.
25238
25239 2008-12-17  Bruno Haible  <bruno@clisp.org>
25240
25241         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
25242         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
25243         gl_FUNC_MBRTOWC.
25244         * m4/mbiter.m4 (gl_MBITER): LIkewise.
25245         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
25246         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
25247         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
25248         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
25249         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
25250         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
25251         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
25252         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
25253         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
25254         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
25255         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
25256         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
25257         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
25258         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
25259         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
25260         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
25261         * modules/trim (configure.ac): Likewise.
25262
25263 2008-12-17  Bruno Haible  <bruno@clisp.org>
25264
25265         * modules/btowc-tests: New file.
25266         * tests/test-btowc1.sh: New file.
25267         * tests/test-btowc2.sh: New file.
25268         * tests/test-btowc.c: New file.
25269
25270         New module 'btowc'.
25271         * lib/wchar.in.h (btowc): New declaration.
25272         * lib/btowc.c: New file.
25273         * m4/btowc.m4: New file.
25274         * modules/btowc: New file.
25275         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
25276         HAVE_BTOWC.
25277         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
25278         * doc/posix-functions/btowc.texi: Document the new module.
25279
25280 2008-12-17  Bruno Haible  <bruno@clisp.org>
25281
25282         New module 'mbsinit'.
25283         * lib/wchar.in.h (mbsinit): New declaration.
25284         * lib/mbsinit.c: New file.
25285         * m4/mbsinit.m4: New file.
25286         * modules/mbsinit: New file.
25287         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
25288         HAVE_MBSINIT.
25289         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
25290         HAVE_MBSINIT.
25291         * doc/posix-functions/mbsinit.texi: Document the new module.
25292
25293 2008-12-16  Bruno Haible  <bruno@clisp.org>
25294
25295         * lib/unistd.in.h: Add comment.
25296         * tests/test-environ.c: Don't include <stdlib.h>.
25297
25298 2008-12-16  Bruno Haible  <bruno@clisp.org>
25299
25300         * lib/parse-duration.h (parse_duration): Document return value
25301         convention.
25302         * lib/parse-duration.c: Include specification header first. Add
25303         comments.
25304         (_): Remove macro.
25305         (parse_year_month_day, parse_hour_minute_second): Move side effects
25306         outside of strchr call.
25307         (parse_non_iso8601): Move side effects outside of isspace call.
25308         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
25309         call.
25310
25311 2008-12-16  Bruno Haible  <bruno@clisp.org>
25312
25313         * tests/test-parse-duration.sh: Produce no output when the test
25314         succeeds.
25315
25316 2008-12-16  Bruno Haible  <bruno@clisp.org>
25317
25318         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
25319         expressions.
25320
25321 2008-12-15  Bruno Haible  <bruno@clisp.org>
25322
25323         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
25324         * doc/glibc-functions/flistxattr.texi: Likewise.
25325         * doc/glibc-functions/fopencookie.texi: Likewise.
25326         * doc/glibc-functions/fremovexattr.texi: Likewise.
25327         * doc/glibc-functions/fsetxattr.texi: Likewise.
25328         * doc/glibc-functions/getxattr.texi: Likewise.
25329         * doc/glibc-functions/lgetxattr.texi: Likewise.
25330         * doc/glibc-functions/listxattr.texi: Likewise.
25331         * doc/glibc-functions/llistxattr.texi: Likewise.
25332         * doc/glibc-functions/lremovexattr.texi: Likewise.
25333         * doc/glibc-functions/lsetxattr.texi: Likewise.
25334         * doc/glibc-functions/removexattr.texi: Likewise.
25335         * doc/glibc-functions/setxattr.texi: Likewise.
25336         * doc/posix-functions/open_memstream.texi: Likewise.
25337
25338 2008-12-15  Eric Blake  <ebb9@byu.net>
25339
25340         Update doc for cygwin 1.7.
25341         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
25342         functions.
25343         * doc/posix-functions/fchmodat.texi: Likewise.
25344         * doc/posix-functions/fchownat.texi: Likewise.
25345         * doc/posix-functions/fdopendir.texi: Likewise.
25346         * doc/posix-functions/fmemopen.texi: Likewise.
25347         * doc/posix-functions/freeaddrinfo.texi: Likewise.
25348         * doc/posix-functions/fstatat.texi: Likewise.
25349         * doc/posix-functions/futimens.texi: Likewise.
25350         * doc/posix-functions/gai_strerror.texi: Likewise.
25351         * doc/posix-functions/getaddrinfo.texi: Likewise.
25352         * doc/posix-functions/getnameinfo.texi: Likewise.
25353         * doc/posix-functions/if_freenameindex.texi: Likewise.
25354         * doc/posix-functions/if_indextoname.texi: Likewise.
25355         * doc/posix-functions/if_nameindex.texi: Likewise.
25356         * doc/posix-functions/if_nametoindex.texi: Likewise.
25357         * doc/posix-functions/insque.texi: Likewise.
25358         * doc/posix-functions/linkat.texi: Likewise.
25359         * doc/posix-functions/llrint.texi: Likewise.
25360         * doc/posix-functions/llrintf.texi: Likewise.
25361         * doc/posix-functions/llrintl.texi: Likewise.
25362         * doc/posix-functions/lockf.texi: Likewise.
25363         * doc/posix-functions/lrintl.texi: Likewise.
25364         * doc/posix-functions/mkdirat.texi: Likewise.
25365         * doc/posix-functions/mkfifoat.texi: Likewise.
25366         * doc/posix-functions/mknodat.texi: Likewise.
25367         * doc/posix-functions/mq_close.texi: Likewise.
25368         * doc/posix-functions/mq_getattr.texi: Likewise.
25369         * doc/posix-functions/mq_notify.texi: Likewise.
25370         * doc/posix-functions/mq_open.texi: Likewise.
25371         * doc/posix-functions/mq_receive.texi: Likewise.
25372         * doc/posix-functions/mq_send.texi: Likewise.
25373         * doc/posix-functions/mq_setattr.texi: Likewise.
25374         * doc/posix-functions/mq_timedreceive.texi: Likewise.
25375         * doc/posix-functions/mq_timedsend.texi: Likewise.
25376         * doc/posix-functions/mq_unlink.texi: Likewise.
25377         * doc/posix-functions/open_memstream.texi: Likewise.
25378         * doc/posix-functions/openat.texi: Likewise.
25379         * doc/posix-functions/posix_fadvise.texi: Likewise.
25380         * doc/posix-functions/posix_fallocate.texi: Likewise.
25381         * doc/posix-functions/posix_madvise.texi: Likewise.
25382         * doc/posix-functions/posix_memalign.texi: Likewise.
25383         * doc/posix-functions/posix_openpt.texi: Likewise.
25384         * doc/posix-functions/readlinkat.texi: Likewise.
25385         * doc/posix-functions/remque.texi: Likewise.
25386         * doc/posix-functions/renameat.texi: Likewise.
25387         * doc/posix-functions/rintl.texi: Likewise.
25388         * doc/posix-functions/sem_unlink.texi: Likewise.
25389         * doc/posix-functions/shm_open.texi: Likewise.
25390         * doc/posix-functions/shm_unlink.texi: Likewise.
25391         * doc/posix-functions/signgam.texi: Likewise.
25392         * doc/posix-functions/sigset.texi: Likewise.
25393         * doc/posix-functions/stpcpy.texi: Likewise.
25394         * doc/posix-functions/stpncpy.texi: Likewise.
25395         * doc/posix-functions/strerror.texi: Likewise.
25396         * doc/posix-functions/strtod.texi: Likewise.
25397         * doc/posix-functions/symlinkat.texi: Likewise.
25398         * doc/posix-functions/unlinkat.texi: Likewise.
25399         * doc/posix-functions/utimensat.texi: Likewise.
25400         * doc/glibc-functions/bindresvport.texi: Likewise.
25401         * doc/glibc-functions/dn_expand.texi: Likewise.
25402         * doc/glibc-functions/exp10.texi: Likewise.
25403         * doc/glibc-functions/exp10f.texi: Likewise.
25404         * doc/glibc-functions/fgetxattr.texi: Likewise.
25405         * doc/glibc-functions/flistxattr.texi: Likewise.
25406         * doc/glibc-functions/fopencookie.texi: Likewise.
25407         * doc/glibc-functions/freeifaddrs.texi: Likewise.
25408         * doc/glibc-functions/fremovexattr.texi: Likewise.
25409         * doc/glibc-functions/fsetxattr.texi: Likewise.
25410         * doc/glibc-functions/getifaddrs.texi: Likewise.
25411         * doc/glibc-functions/getxattr.texi: Likewise.
25412         * doc/glibc-functions/lgetxattr.texi: Likewise.
25413         * doc/glibc-functions/listxattr.texi: Likewise.
25414         * doc/glibc-functions/llistxattr.texi: Likewise.
25415         * doc/glibc-functions/lremovexattr.texi: Likewise.
25416         * doc/glibc-functions/lsetxattr.texi: Likewise.
25417         * doc/glibc-functions/pow10.texi: Likewise.
25418         * doc/glibc-functions/pow10f.texi: Likewise.
25419         * doc/glibc-functions/rcmd_af.texi: Likewise.
25420         * doc/glibc-functions/removexattr.texi: Likewise.
25421         * doc/glibc-functions/res_init.texi: Likewise.
25422         * doc/glibc-functions/res_mkquery.texi: Likewise.
25423         * doc/glibc-functions/res_query.texi: Likewise.
25424         * doc/glibc-functions/res_querydomain.texi: Likewise.
25425         * doc/glibc-functions/res_send.texi: Likewise.
25426         * doc/glibc-functions/rresvport_af.texi: Likewise.
25427         * doc/glibc-functions/setxattr.texi: Likewise.
25428         * doc/glibc-functions/strcasestr.texi: Likewise.
25429
25430 2008-12-15  Bruno Haible  <bruno@clisp.org>
25431
25432         Fix compilation error on OSF/1 4.0.
25433         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
25434         <sys/time.h>, simply delegate to the system header.
25435         Reported by Daniel Richard G. <oss@teragram.com>.
25436
25437 2008-12-15  Bruno Haible  <bruno@clisp.org>
25438
25439         * doc/posix-functions/openat.texi: Mention the 'openat' module.
25440         * doc/posix-functions/fchmodat.texi: Likewise.
25441         * doc/posix-functions/fchownat.texi: Likewise.
25442         * doc/posix-functions/fdopendir.texi: Likewise.
25443         * doc/posix-functions/fstatat.texi: Likewise.
25444         * doc/posix-functions/mkdirat.texi: Likewise.
25445         * doc/posix-functions/unlinkat.texi: Likewise.
25446
25447 2008-12-14  Bruno Haible  <bruno@clisp.org>
25448
25449         Update doc for POSIX:2008.
25450         * doc/posix-functions/faccessat.texi: New file.
25451         * doc/posix-functions/fchmodat.texi: New file.
25452         * doc/posix-functions/fchownat.texi: New file.
25453         * doc/posix-functions/fdopendir.texi: New file.
25454         * doc/posix-functions/fstatat.texi: New file.
25455         * doc/posix-functions/futimens.texi: New file.
25456         * doc/posix-functions/linkat.texi: New file.
25457         * doc/posix-functions/mkdirat.texi: New file.
25458         * doc/posix-functions/mkfifoat.texi: New file.
25459         * doc/posix-functions/mknodat.texi: New file.
25460         * doc/posix-functions/open_wmemstream.texi: New file.
25461         * doc/posix-functions/openat.texi: New file.
25462         * doc/posix-functions/psiginfo.texi: New file.
25463         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
25464         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
25465         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
25466         * doc/posix-functions/readlinkat.texi: New file.
25467         * doc/posix-functions/renameat.texi: New file.
25468         * doc/posix-functions/strerror_l.texi: New file.
25469         * doc/posix-functions/symlinkat.texi: New file.
25470         * doc/posix-functions/unlinkat.texi: New file.
25471         * doc/posix-functions/utimensat.texi: New file.
25472         * doc/gnulib.texi (Function Substitutes): Add these subsections.
25473
25474 2008-12-14  Bruno Haible  <bruno@clisp.org>
25475
25476         Update doc for POSIX:2008.
25477         * doc/posix-functions/alphasort.texi: Renamed from
25478         doc/glibc-functions/alphasort.texi.
25479         * doc/posix-functions/dirfd.texi: Renamed from
25480         doc/glibc-functions/dirfd.texi.
25481         * doc/posix-functions/dprintf.texi: Renamed from
25482         doc/glibc-functions/dprintf.texi.
25483         * doc/posix-functions/duplocale.texi: Renamed from
25484         doc/glibc-functions/duplocale.texi.
25485         * doc/posix-functions/fexecve.texi: Renamed from
25486         doc/glibc-functions/fexecve.texi.
25487         * doc/posix-functions/fmemopen.texi: Renamed from
25488         doc/glibc-functions/fmemopen.texi.
25489         * doc/posix-functions/freelocale.texi: Renamed from
25490         doc/glibc-functions/freelocale.texi.
25491         * doc/posix-functions/getdate_err.texi: Renamed from
25492         doc/glibc-functions/getdate_err.texi.
25493         * doc/posix-functions/isalnum_l.texi: Renamed from
25494         doc/glibc-functions/isalnum_l.texi.
25495         * doc/posix-functions/isalpha_l.texi: Renamed from
25496         doc/glibc-functions/isalpha_l.texi.
25497         * doc/posix-functions/isblank_l.texi: Renamed from
25498         doc/glibc-functions/isblank_l.texi.
25499         * doc/posix-functions/iscntrl_l.texi: Renamed from
25500         doc/glibc-functions/iscntrl_l.texi.
25501         * doc/posix-functions/isdigit_l.texi: Renamed from
25502         doc/glibc-functions/isdigit_l.texi.
25503         * doc/posix-functions/isgraph_l.texi: Renamed from
25504         doc/glibc-functions/isgraph_l.texi.
25505         * doc/posix-functions/islower_l.texi: Renamed from
25506         doc/glibc-functions/islower_l.texi.
25507         * doc/posix-functions/isprint_l.texi: Renamed from
25508         doc/glibc-functions/isprint_l.texi.
25509         * doc/posix-functions/ispunct_l.texi: Renamed from
25510         doc/glibc-functions/ispunct_l.texi.
25511         * doc/posix-functions/isspace_l.texi: Renamed from
25512         doc/glibc-functions/isspace_l.texi.
25513         * doc/posix-functions/isupper_l.texi: Renamed from
25514         doc/glibc-functions/isupper_l.texi.
25515         * doc/posix-functions/iswalnum_l.texi: Renamed from
25516         doc/glibc-functions/iswalnum_l.texi.
25517         * doc/posix-functions/iswalpha_l.texi: Renamed from
25518         doc/glibc-functions/iswalpha_l.texi.
25519         * doc/posix-functions/iswblank_l.texi: Renamed from
25520         doc/glibc-functions/iswblank_l.texi.
25521         * doc/posix-functions/iswcntrl_l.texi: Renamed from
25522         doc/glibc-functions/iswcntrl_l.texi.
25523         * doc/posix-functions/iswctype_l.texi: Renamed from
25524         doc/glibc-functions/iswctype_l.texi.
25525         * doc/posix-functions/iswdigit_l.texi: Renamed from
25526         doc/glibc-functions/iswdigit_l.texi.
25527         * doc/posix-functions/iswgraph_l.texi: Renamed from
25528         doc/glibc-functions/iswgraph_l.texi.
25529         * doc/posix-functions/iswlower_l.texi: Renamed from
25530         doc/glibc-functions/iswlower_l.texi.
25531         * doc/posix-functions/iswprint_l.texi: Renamed from
25532         doc/glibc-functions/iswprint_l.texi.
25533         * doc/posix-functions/iswpunct_l.texi: Renamed from
25534         doc/glibc-functions/iswpunct_l.texi.
25535         * doc/posix-functions/iswspace_l.texi: Renamed from
25536         doc/glibc-functions/iswspace_l.texi.
25537         * doc/posix-functions/iswupper_l.texi: Renamed from
25538         doc/glibc-functions/iswupper_l.texi.
25539         * doc/posix-functions/iswxdigit_l.texi: Renamed from
25540         doc/glibc-functions/iswxdigit_l.texi.
25541         * doc/posix-functions/isxdigit_l.texi: Renamed from
25542         doc/glibc-functions/isxdigit_l.texi.
25543         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
25544         doc/glibc-functions/mbsnrtowcs.texi.
25545         * doc/posix-functions/mkdtemp.texi: Renamed from
25546         doc/glibc-functions/mkdtemp.texi.
25547         * doc/posix-functions/newlocale.texi: Renamed from
25548         doc/glibc-functions/newlocale.texi.
25549         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
25550         doc/glibc-functions/nl_langinfo_l.texi.
25551         * doc/posix-functions/open_memstream.texi: Renamed from
25552         doc/glibc-functions/open_memstream.texi.
25553         * doc/posix-functions/opterr.texi: Renamed from
25554         doc/glibc-functions/opterr.texi.
25555         * doc/posix-functions/optind.texi: Renamed from
25556         doc/glibc-functions/optind.texi.
25557         * doc/posix-functions/optopt.texi: Renamed from
25558         doc/glibc-functions/optopt.texi.
25559         * doc/posix-functions/psignal.texi: Renamed from
25560         doc/glibc-functions/psignal.texi.
25561         * doc/posix-functions/scandir.texi: Renamed from
25562         doc/glibc-functions/scandir.texi.
25563         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
25564         doc/glibc-functions/sched_get_priority_min.texi.
25565         * doc/posix-functions/signgam.texi: Renamed from
25566         doc/glibc-functions/signgam.texi.
25567         * doc/posix-functions/stpcpy.texi: Renamed from
25568         doc/glibc-functions/stpcpy.texi.
25569         * doc/posix-functions/stpncpy.texi: Renamed from
25570         doc/glibc-functions/stpncpy.texi.
25571         * doc/posix-functions/strcasecmp_l.texi: Renamed from
25572         doc/glibc-functions/strcasecmp_l.texi.
25573         * doc/posix-functions/strcoll_l.texi: Renamed from
25574         doc/glibc-functions/strcoll_l.texi.
25575         * doc/posix-functions/strfmon_l.texi: Renamed from
25576         doc/glibc-functions/strfmon_l.texi.
25577         * doc/posix-functions/strftime_l.texi: Renamed from
25578         doc/glibc-functions/strftime_l.texi.
25579         * doc/posix-functions/strncasecmp_l.texi: Renamed from
25580         doc/glibc-functions/strncasecmp_l.texi.
25581         * doc/posix-functions/strndup.texi: Renamed from
25582         doc/glibc-functions/strndup.texi.
25583         * doc/posix-functions/strnlen.texi: Renamed from
25584         doc/glibc-functions/strnlen.texi.
25585         * doc/posix-functions/strsignal.texi: Renamed from
25586         doc/glibc-functions/strsignal.texi.
25587         * doc/posix-functions/strxfrm_l.texi: Renamed from
25588         doc/glibc-functions/strxfrm_l.texi.
25589         * doc/posix-functions/timer_gettime.texi: Renamed from
25590         doc/glibc-functions/timer_gettime.texi.
25591         * doc/posix-functions/tolower_l.texi: Renamed from
25592         doc/glibc-functions/tolower_l.texi.
25593         * doc/posix-functions/toupper_l.texi: Renamed from
25594         doc/glibc-functions/toupper_l.texi.
25595         * doc/posix-functions/towctrans_l.texi: Renamed from
25596         doc/glibc-functions/towctrans_l.texi.
25597         * doc/posix-functions/towlower_l.texi: Renamed from
25598         doc/glibc-functions/towlower_l.texi.
25599         * doc/posix-functions/towupper_l.texi: Renamed from
25600         doc/glibc-functions/towupper_l.texi.
25601         * doc/posix-functions/uselocale.texi: Renamed from
25602         doc/glibc-functions/uselocale.texi.
25603         * doc/posix-functions/vdprintf.texi: Renamed from
25604         doc/glibc-functions/vdprintf.texi.
25605         * doc/posix-functions/wcpcpy.texi:
25606         Renamed from doc/glibc-functions/wcpcpy.texi.
25607         * doc/posix-functions/wcpncpy.texi: Renamed from
25608         doc/glibc-functions/wcpncpy.texi.
25609         * doc/posix-functions/wcscasecmp.texi: Renamed from
25610         doc/glibc-functions/wcscasecmp.texi.
25611         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
25612         doc/glibc-functions/wcscasecmp_l.texi.
25613         * doc/posix-functions/wcscoll_l.texi: Renamed from
25614         doc/glibc-functions/wcscoll_l.texi.
25615         * doc/posix-functions/wcsdup.texi: Renamed from
25616         doc/glibc-functions/wcsdup.texi.
25617         * doc/posix-functions/wcsncasecmp.texi: Renamed from
25618         doc/glibc-functions/wcsncasecmp.texi.
25619         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
25620         doc/glibc-functions/wcsncasecmp_l.texi.
25621         * doc/posix-functions/wcsnlen.texi: Renamed from
25622         doc/glibc-functions/wcsnlen.texi.
25623         * doc/posix-functions/wcsnrtombs.texi: Renamed from
25624         doc/glibc-functions/wcsnrtombs.texi.
25625         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
25626         doc/glibc-functions/wcsxfrm_l.texi.
25627         * doc/posix-functions/wctrans_l.texi: Renamed from
25628         doc/glibc-functions/wctrans_l.texi.
25629         * doc/posix-functions/wctype_l.texi: Renamed from
25630         doc/glibc-functions/wctype_l.texi.
25631         * doc/gnulib.texi (Function Substitutes): Add these subsections.
25632         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
25633         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
25634         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
25635         these subsections.
25636         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
25637         Remove sections.
25638
25639 2008-12-14  Bruno Haible  <bruno@clisp.org>
25640
25641         Update doc for POSIX:2008.
25642         * doc/posix-functions/*.texi: Update URL of POSIX specification.
25643
25644 2008-12-14  Bruno Haible  <bruno@clisp.org>
25645
25646         Update doc for POSIX:2008.
25647         * doc/pastposix-functions/bcmp.texi: Renamed from
25648         doc/posix-functions/bcmp.texi.
25649         * doc/pastposix-functions/bcopy.texi: Renamed from
25650         doc/posix-functions/bcopy.texi.
25651         * doc/pastposix-functions/bsd_signal.texi: Renamed from
25652         doc/posix-functions/bsd_signal.texi.
25653         * doc/pastposix-functions/bzero.texi: Renamed from
25654         doc/posix-functions/bzero.texi.
25655         * doc/pastposix-functions/ecvt.texi: Renamed from
25656         doc/posix-functions/ecvt.texi.
25657         * doc/pastposix-functions/fcvt.texi: Renamed from
25658         doc/posix-functions/fcvt.texi.
25659         * doc/pastposix-functions/ftime.texi: Renamed from
25660         doc/posix-functions/ftime.texi.
25661         * doc/pastposix-functions/gcvt.texi: Renamed from
25662         doc/posix-functions/gcvt.texi.
25663         * doc/pastposix-functions/getcontext.texi: Renamed from
25664         doc/posix-functions/getcontext.texi.
25665         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
25666         doc/posix-functions/gethostbyaddr.texi.
25667         * doc/pastposix-functions/gethostbyname.texi: Renamed from
25668         doc/posix-functions/gethostbyname.texi.
25669         * doc/pastposix-functions/getwd.texi: Renamed from
25670         doc/posix-functions/getwd.texi.
25671         * doc/pastposix-functions/h_errno.texi: Renamed from
25672         doc/posix-functions/h_errno.texi.
25673         * doc/pastposix-functions/index.texi: Renamed from
25674         doc/posix-functions/index.texi.
25675         * doc/pastposix-functions/makecontext.texi: Renamed from
25676         doc/posix-functions/makecontext.texi.
25677         * doc/pastposix-functions/mktemp.texi: Renamed from
25678         doc/posix-functions/mktemp.texi.
25679         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
25680         doc/posix-functions/pthread_attr_getstackaddr.texi.
25681         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
25682         doc/posix-functions/pthread_attr_setstackaddr.texi.
25683         * doc/pastposix-functions/rindex.texi: Renamed from
25684         doc/posix-functions/rindex.texi.
25685         * doc/pastposix-functions/scalb.texi: Renamed from
25686         doc/posix-functions/scalb.texi.
25687         * doc/pastposix-functions/setcontext.texi: Renamed from
25688         doc/posix-functions/setcontext.texi.
25689         * doc/pastposix-functions/swapcontext.texi: Renamed from
25690         doc/posix-functions/swapcontext.texi.
25691         * doc/pastposix-functions/ualarm.texi: Renamed from
25692         doc/posix-functions/ualarm.texi.
25693         * doc/pastposix-functions/usleep.texi: Renamed from
25694         doc/posix-functions/usleep.texi.
25695         * doc/pastposix-functions/vfork.texi: Renamed from
25696         doc/posix-functions/vfork.texi.
25697         * doc/pastposix-functions/wcswcs.texi: Renamed from
25698         doc/posix-functions/wcswcs.texi.
25699         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
25700         (Function Substitutes): Update.
25701
25702 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25703
25704         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
25705         m4/strerror.m4.
25706
25707 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25708             Bruno Haible  <bruno@clisp.org>
25709
25710         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
25711
25712 2008-12-13  Bruno Haible  <bruno@clisp.org>
25713
25714         * modules/strtoull (Depends-on): Remove unistd.
25715
25716 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25717
25718         * modules/strtoull (Depends-on): Add stdlib.
25719
25720 2008-12-11  Simon Josefsson  <simon@josefsson.org>
25721
25722         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
25723
25724 2008-12-10  Jim Meyering  <meyering@redhat.com>
25725
25726         gl_ASSERT: don't say assertions are disabled when they're not
25727         * m4/assert.m4 (gl_ASSERT): Do not make configure report
25728         "checking whether to enable assertions... no", when they are in
25729         fact enabled.  This is solely a bug in the output of configure.
25730         In spite of saying "no", NDEBUG was not defined in that case.
25731         Also, as noted by Eric Blake, leave assertions enabled upon
25732         --enable-assert=INVALID.
25733
25734 2008-12-10  Bruno Haible  <bruno@clisp.org>
25735
25736         Change MODULES.html to refer to POSIX:2008 where possible.
25737         * MODULES.html.sh (POSIX2008_URL): New variable.
25738         (posix_headers): Remove sys/timeb, ucontext.
25739         (posix2001_headers): New variable.
25740         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
25741         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
25742         index, makecontext, mktemp, pthread_attr_getstackaddr,
25743         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
25744         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
25745         (posix2001_functions): New variable.
25746         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
25747         otherwise.
25748
25749 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25750
25751         add missing include to parse-duration.c
25752         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
25753         * modules/parse-duration (Depends-on): Add xalloc.
25754
25755         fix sed script reading maint.mk
25756         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
25757         (syntax-check-rules): Use it.
25758
25759 2008-12-09  Bruno Haible  <bruno@clisp.org>
25760
25761         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
25762         MacOS X 10.4/PowerPC.
25763         Reported by Simon Josefsson.
25764
25765 2008-12-08  Jim Meyering  <meyering@redhat.com>
25766
25767         work around mingw's lack of some S_IF definitions
25768         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
25769         Reported by Simon Josefsson.
25770
25771 2008-12-08  Bruno Haible  <bruno@clisp.org>
25772
25773         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
25774         applied to variables. Needed on MacOS X 10.4/PowerPC.
25775         Reported by Simon Josefsson.
25776
25777 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
25778         and Eric Blake  <ebb9@byu.net>
25779
25780         assert: honor --enable-assert
25781         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
25782         order to honor --enable-assert, rather than treating it as a
25783         synonym for --disable-assert.
25784
25785 2008-12-08  Jim Meyering  <meyering@redhat.com>
25786
25787         * lib/posixtm.c: Remove now-useless declaration of mktime.
25788
25789         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
25790
25791 2008-12-07  Bruno Haible  <bruno@clisp.org>
25792
25793         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
25794         test_once): Mark functions as static.
25795         * tests/test-tls.c (test_tls): Likewise.
25796
25797 2008-12-07  Bruno Haible  <bruno@clisp.org>
25798
25799         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
25800         iconv_register_autodetect.
25801
25802 2008-12-07  Jim Meyering  <meyering@redhat.com>
25803
25804         posixtm.c: avoid a warning
25805         * lib/posixtm.c (posixtime): Don't initialize tm0.
25806         It's no longer needed to placate gcc4's -Wuninitialized,
25807         and the attempt to placate would elicit a new warning.
25808
25809         unicodeio.c: mark unused parameters
25810         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
25811         (fallback_failure_callback): Likewise.
25812
25813 2008-12-07  Bruno Haible  <bruno@clisp.org>
25814
25815         * gnulib-tool (func_create_testdir): When building the tests
25816         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
25817         Reported by Simon Josefsson.
25818
25819 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25820
25821         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
25822
25823 2008-12-06  Bruno Haible  <bruno@clisp.org>
25824
25825         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
25826         Suggested by Eric Blake.
25827
25828 2008-12-06  Bruno Haible  <bruno@clisp.org>
25829
25830         Fix a c-stack test failure on MacOS X.
25831         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
25832         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
25833         handler for SIGBUS as well.
25834         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
25835         install a signal handler for SIGBUS as well.
25836         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
25837
25838 2008-12-06  Bruno Haible  <bruno@clisp.org>
25839
25840         Advocacy documentation.
25841         * doc/gnulib-intro.texi (Benefits): New section.
25842         * doc/gnulib.texi: Update.
25843
25844 2008-12-06  Bruno Haible  <bruno@clisp.org>
25845
25846         Document the 'manywarnings' module.
25847         * doc/manywarnings.texi: New file.
25848         * doc/gnulib.texi: Include it.
25849
25850 2008-12-05  Eric Blake  <ebb9@byu.net>
25851
25852         tests: silence some gcc warnings
25853         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
25854         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
25855         type mismatches.
25856
25857 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25858             Bruno Haible  <bruno@clisp.org>
25859
25860         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
25861
25862 2008-11-29  Jim Meyering  <meyering@redhat.com>
25863
25864         unicodeio.c: mark unused parameters
25865         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
25866         (fallback_failure_callback): Likewise.
25867
25868         fts: fix a thinko
25869         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
25870         (set_stat_type): Return S_IF*-valued "type" directly.
25871         Prompted by James Youngman's spotting a related bug.
25872         Confirmed by further testing through find.
25873
25874         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
25875         * lib/fts.c (D_TYPE): Define.
25876         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
25877         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
25878         (s_ifmt_shift_bits): New function.
25879         (set_stat_type): New function.
25880         (fts_build): When not calling fts_stat, call set_stat_type
25881         to propagate dirent.d_type info to fts_read caller.
25882         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
25883         fts_statp->st_mode type information may be valid.
25884
25885 2008-11-28  Simon Josefsson  <simon@josefsson.org>
25886
25887         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
25888         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
25889         <sds@gnu.org>.
25890
25891 2008-11-20  Bruno Haible  <bruno@clisp.org>
25892
25893         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
25894         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
25895         INCLUDE_NEXT.
25896         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
25897         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
25898         * modules/math (Makefile.am): Substitute
25899         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
25900         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
25901
25902 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
25903             Bruno Haible  <bruno@clisp.org>
25904
25905         * lib/stdint.in.h: Define all type macros so that their expansion is
25906         a single typedef'ed token. Fixes a compilation failure in Boost which
25907         does "using ::int8_t;".
25908
25909 2008-11-18  Simon Josefsson  <simon@josefsson.org>
25910
25911         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
25912         gl_MANYWARN_ALL_GCC.
25913         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
25914         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
25915         * modules/manywarnings: New file.
25916         * MODULES.html.sh: Mention manywarnings module.
25917
25918 2008-11-18  Bruno Haible  <bruno@clisp.org>
25919
25920         * doc/gnulib-tool.texi (Unit tests): New section.
25921
25922 2008-11-18  Simon Josefsson  <simon@josefsson.org>
25923
25924         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
25925         paths like 'lib/po/foo.po'.
25926
25927 2008-11-17  Simon Josefsson  <simon@josefsson.org>
25928
25929         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
25930         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
25931
25932 2008-11-17  Simon Josefsson  <simon@josefsson.org>
25933
25934         * m4/warnings.m4: Use CPPFLAGS to really check whether the
25935         parameter works.
25936
25937 2008-11-17  Simon Josefsson  <simon@josefsson.org>
25938
25939         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
25940
25941 2008-11-17  Bruce Korb  <bkorb@gnu.org>
25942
25943         * modules/parse-duration-tests: New file.
25944         * tests/test-parse-duration.sh: New file.
25945         * tests/test-parse-duration.c: New file.
25946
25947         New module 'parse-duration'.
25948         * lib/parse-duration.h: New file.
25949         * lib/parse-duration.c: New file.
25950         * modules/parse-duration: New file.
25951
25952 2008-11-17  Bruno Haible  <bruno@clisp.org>
25953
25954         * tests/test-select-out.sh: Comment out the first pipe test.
25955         Reported by Simon Josefsson.
25956
25957 2008-11-17  Bruno Haible  <bruno@clisp.org>
25958
25959         * modules/getaddrinfo (Depends-on): Add servent, hostent.
25960         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
25961         gl_HOSTENT.
25962
25963 2008-11-17  Bruno Haible  <bruno@clisp.org>
25964
25965         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
25966         -lnetwork and -lnet. Needed for Haiku and BeOS.
25967
25968 2008-11-16  Bruno Haible  <bruno@clisp.org>
25969
25970         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
25971
25972 2008-11-16  Bruno Haible  <bruno@clisp.org>
25973
25974         Avoid test failure on Haiku.
25975         * tests/test-fsync.c: Include <errno.h>.
25976         (main): Don't require that fsync (0) fails.
25977
25978 2008-11-15  Bruno Haible  <bruno@clisp.org>
25979
25980         New module 'hostent'.
25981         * modules/hostent: New file.
25982         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
25983
25984 2008-11-15  Bruno Haible  <bruno@clisp.org>
25985
25986         New module 'servent'.
25987         * modules/servent: New file.
25988         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
25989
25990 2008-11-15  Bruno Haible  <bruno@clisp.org>
25991
25992         Avoid generating same test program with two different rules.
25993         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
25994         test-frexp to test-frexp-nolibm.
25995         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
25996         test-frexpl to test-frexpl-nolibm.
25997
25998 2008-11-15  Bruno Haible  <bruno@clisp.org>
25999
26000         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
26001         $(FREXPL_LIBM).
26002
26003 2008-11-15  Bruno Haible  <bruno@clisp.org>
26004
26005         * lib/netdb.in.h: Activate the definitions also when the system's
26006         <netdb.h> has 'struct addrinfo'.
26007         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
26008         EAI_OVERFLOW or AI_NUMERICSERV.
26009         * doc/posix-headers/netdb.texi: Document the problem.
26010
26011 2008-11-15  Bruno Haible  <bruno@clisp.org>
26012
26013         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
26014
26015         Make the 'sched' module work on platforms where <sched.h> exists but
26016         is incomplete (such as Haiku).
26017         * lib/sched.in.h; Include the system's <sched.h> if it exists.
26018         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
26019         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
26020         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
26021         HAVE_STRUCT_SCHED_PARAM.
26022         * modules/sched (Depends-on): Add include_next.
26023         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
26024         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
26025         * doc/posix-headers/sched.texi: Document the issue.
26026
26027 2008-11-13  Jim Meyering  <meyering@redhat.com>
26028
26029         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
26030         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
26031         test would fail due to the difference in the Report bugs to ...
26032         line.  The expected address is empty, "<>", while the actual
26033         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
26034
26035 2008-11-12  Bruno Haible  <bruno@clisp.org>
26036
26037         lstat: don't compile lstat.c on systems lacking lstat
26038         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
26039         which don't have lstat; this is handled by lib/sys_stat.in.h already.
26040         Reported by Daniel P. Berrange via Jim Meyering.
26041
26042 2008-11-12  Jim Meyering  <meyering@redhat.com>
26043
26044         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
26045
26046 2008-11-12  Simon Josefsson  <simon@josefsson.org>
26047
26048         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
26049         instead.
26050
26051 2008-11-12  Bruno Haible  <bruno@clisp.org>
26052
26053         * lib/unicodeio.c: Include unistr.h.
26054         (utf8_wctomb): Remove function.
26055         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
26056
26057 2008-11-12  Simon Josefsson  <simon@josefsson.org>
26058
26059         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
26060         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
26061         <bruno@clisp.org>.
26062         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
26063
26064 2008-11-12  Simon Josefsson  <simon@josefsson.org>
26065
26066         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
26067         * doc/gnulib.texi: Add section for warnings.
26068
26069 2008-11-11  Bruno Haible  <bruno@clisp.org>
26070
26071         * lib/sockets.h: Add a comment.
26072
26073 2008-11-11  Karl Berry  <karl@gnu.org>
26074
26075         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
26076
26077 2008-11-11  Eric Blake  <ebb9@byu.net>
26078
26079         fdl.texi: avoid git symlinks
26080         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
26081
26082 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
26083
26084         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
26085
26086 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
26087
26088         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
26089         (gl_WARN_ADD): Substitute $2 if literal.
26090
26091 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
26092
26093         * m4/warning.m4: Remove.
26094
26095 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
26096
26097         * m4/warnings.m4: Almost complete rewrite. :-)
26098
26099 2008-11-10  Simon Josefsson  <simon@josefsson.org>
26100
26101         * modules/warnings: New module.
26102         * m4/warnings.m4: New file.
26103         * MODULES.html.sh: Mention warnings module.
26104         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
26105         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
26106
26107 2008-11-10  Eric Blake  <ebb9@byu.net>
26108
26109         fdl.texi: make a symlink to the latest version
26110         * doc/standards.texi: Revert today's earlier change.
26111         * doc/fdl-1.2.texi: Rename from old fdl.texi...
26112         * doc/fdl.texi: ...and replace this with a symlink to the newer
26113         fdl-1.3.texi.
26114
26115 2008-11-10  Bruno Haible  <bruno@clisp.org>
26116
26117         * tests/test-select-fd.c (main): Accept the result file name as fourth
26118         argument.
26119         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
26120         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
26121
26122 2008-11-10  Bruno Haible  <bruno@clisp.org>
26123
26124         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
26125         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
26126         as autoconf-substituted macros.
26127         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
26128         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
26129         gl_NETDB_H_DEFAULTS. Set these variables.
26130         * modules/netdb (Makefile.am): Substitute these variables.
26131
26132 2008-11-10  Eric Blake  <ebb9@byu.net>
26133
26134         standards.texi: include correct file for FDL 1.3
26135         * doc/standards.texi (GNU Free Documentation License): Change
26136         include file to pull in FDL 1.3, not 1.2.
26137
26138         fdl.texi: revert accidental change to license
26139         * doc/fdl.texi: This is FDL 1.2, not 1.3.
26140
26141 2008-11-10  Bruno Haible  <bruno@clisp.org>
26142
26143         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
26144         cross-compiling guesses also when the native compile gives no result.
26145
26146 2008-11-10  Bruno Haible  <bruno@clisp.org>
26147
26148         * lib/spawni.c (__spawni): Force variable into the stack.
26149
26150 2008-11-10  Bruno Haible  <bruno@clisp.org>
26151
26152         Add support for Haiku.
26153         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
26154         glibc and BeOS, but also on Haiku.
26155         * lib/fpurge.c (fpurge): Likewise.
26156         * lib/freadable.c (freadable): Likewise.
26157         * lib/freadahead.c (freadahead): Likewise.
26158         * lib/freading.c (freading): Likewise.
26159         * lib/freadptr.c (freadptr): Likewise.
26160         * lib/freadseek.c (freadptrinc): Likewise.
26161         * lib/fseeko.c (rpl_fseeko): Likewise.
26162         * lib/fseterr.c (fseterr): Likewise.
26163         * lib/fwritable.c (fwritable): Likewise.
26164         * lib/fwriting.c (fwriting): Likewise.
26165         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
26166
26167 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
26168
26169         * lib/config.charset: Treat Haiku like BeOS.
26170
26171 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
26172
26173         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
26174         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
26175
26176 2008-11-08  Bruno Haible  <bruno@clisp.org>
26177
26178         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
26179         AC_CACHE_CHECK.
26180
26181 2008-11-08  Bruno Haible  <bruno@clisp.org>
26182
26183         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
26184
26185 2008-11-08  Bruno Haible  <bruno@clisp.org>
26186
26187         * tests/test-select-fd.c: New file.
26188         * tests/test-select-in.sh: New file.
26189         * tests/test-select-out.sh: New file.
26190         * tests/test-select-stdin.c: New file.
26191         * modules/select-tests (Files): Add the new files.
26192         (Depends-on): Add gettimeofday.
26193         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
26194         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
26195         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
26196
26197 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
26198             Bruno Haible  <bruno@clisp.org>
26199
26200         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
26201
26202 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
26203
26204         * build-aux/pmccabe2html: Added support for C++ source files.
26205
26206 2008-11-05  Ben Pfaff  <blp@gnu.org>
26207
26208         Fix lib/close.c build on Windows.
26209         * modules/close (Files): Add lib/w32sock.h.
26210
26211 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
26212
26213         Accept Bison's NEWS format.
26214         * build-aux/announce-gen (print_news_deltas): Tweak
26215         $re_prefix.
26216
26217 2008-11-04  Bruno Haible  <bruno@clisp.org>
26218
26219         * modules/random_r (Maintainer): Add glibc.
26220
26221 2008-11-04  Simon Josefsson  <simon@josefsson.org>
26222
26223         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
26224         by karl@freefriends.org (Karl Berry).
26225         * doc/alloca.texi: Likewise.
26226         * doc/c-ctype.texi: Likewise.
26227         * doc/c-strcase.texi: Likewise.
26228         * doc/c-strcaseeq.texi: Likewise.
26229         * doc/c-strcasestr.texi: Likewise.
26230         * doc/c-strstr.texi: Likewise.
26231         * doc/c-strtod.texi: Likewise.
26232         * doc/c-strtold.texi: Likewise.
26233         * doc/ctime.texi: Likewise.
26234         * doc/error.texi: Likewise.
26235         * doc/fdl.texi: Likewise.
26236         * doc/gcd.texi: Likewise.
26237         * doc/getdate.texi: Likewise.
26238         * doc/gnulib-intro.texi: Likewise.
26239         * doc/gnulib-tool.texi: Likewise.
26240         * doc/gnulib.texi: Likewise.
26241         * doc/inet_ntoa.texi: Likewise.
26242         * doc/maintain.texi: Likewise.
26243         * doc/make-stds.texi: Likewise.
26244         * doc/quote.texi: Likewise.
26245         * doc/regexprops-generic.texi: Likewise.
26246         * doc/standards.texi: Likewise.
26247         * doc/verify.texi: Likewise.
26248         * doc/visibility.texi: Likewise.
26249         * doc/gnulib.texi (GNU Free Documentation License): Include
26250         fdl-1.3.texi instead of fdl.texi.
26251
26252 2008-11-04  Simon Josefsson  <simon@josefsson.org>
26253
26254         * doc/fdl-1.3.texi: New file, from
26255         <http://www.gnu.org/licenses/fdl-1.3.texi>.
26256         * modules/fdl-1.3: Add.
26257         * MODULES.html.sh: Add fdl-1.3.
26258
26259 2008-11-03  Bruno Haible  <bruno@clisp.org>
26260
26261         Make determination of absolute name of header file work with AIX xlc.
26262         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
26263         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
26264         preprocessing.
26265         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
26266         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
26267
26268 2008-11-03  Simon Josefsson  <simon@josefsson.org>
26269
26270         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
26271         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
26272         <ludo@gnu.org>.
26273
26274 2008-11-02  Bruno Haible  <bruno@clisp.org>
26275
26276         Mark 'strpbrk' obsolete.
26277         * modules/strpbrk (Status, Notice): New sections.
26278         * modules/strtok_r (Depends-on): Add strpbrk.
26279
26280 2008-11-02  Bruno Haible  <bruno@clisp.org>
26281
26282         Mark 'strdup' obsolete.
26283         * modules/strdup (Status, Notice): New sections.
26284         * modules/findprog (Depends-on): Add strdup.
26285         * modules/getaddrinfo (Depends-on): Likewise.
26286         * modules/localename (Depends-on): Likewise.
26287         * modules/relocatable-lib (Depends-on): Likewise.
26288         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
26289         * modules/relocatable-prog (Depends-on): Likewise.
26290         * modules/trim (Depends-on): Likewise.
26291         * modules/unictype/gen-ctype (Depends-on): Likewise.
26292         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
26293
26294 2008-11-02  Bruno Haible  <bruno@clisp.org>
26295
26296         Mark 'strcspn' obsolete.
26297         * modules/strcspn (Status, Notice): New sections.
26298
26299 2008-11-02  Bruno Haible  <bruno@clisp.org>
26300
26301         Mark 'rmdir' obsolete.
26302         * modules/rmdir (Status, Notice): New sections.
26303         * modules/clean-temp (Depends-on): Add rmdir.
26304         * modules/openat (Depends-on): Likewise.
26305
26306 2008-11-02  Bruno Haible  <bruno@clisp.org>
26307
26308         Mark 'raise' obsolete.
26309         * modules/raise (Status, Notice): New sections.
26310         (Include): Specify <signal.h>.
26311         * modules/stdio (Depends-on): Add raise.
26312         * modules/write (Depends-on): Likewise.
26313
26314 2008-11-02  Bruno Haible  <bruno@clisp.org>
26315
26316         Mark 'memset' obsolete.
26317         * modules/memset (Status, Notice): New sections.
26318
26319 2008-11-02  Bruno Haible  <bruno@clisp.org>
26320
26321         Mark 'memmove' obsolete.
26322         * modules/memmove (Status, Notice): New sections.
26323         * modules/argp (Depends-on): Add memmove.
26324         * modules/argz (Depends-on): Likewise.
26325         * modules/canonicalize (Depends-on): Likewise.
26326         * modules/canonicalize-lgpl (Depends-on): Likewise.
26327         * modules/fts (Depends-on): Likewise.
26328         * modules/getcwd (Depends-on): Likewise.
26329         * modules/human (Depends-on): Likewise.
26330         * modules/regex (Depends-on): Likewise.
26331         * modules/striconveh (Depends-on): Likewise.
26332         * modules/trim (Depends-on): Likewise.
26333         * modules/unistr/u8-move (Depends-on): Likewise.
26334         * modules/unistr/u16-move (Depends-on): Likewise.
26335         * modules/unistr/u32-move (Depends-on): Likewise.
26336
26337 2008-11-02  Bruno Haible  <bruno@clisp.org>
26338
26339         Mark 'memcpy' obsolete.
26340         * modules/memcpy (Status, Notice): New sections.
26341
26342 2008-11-02  Bruno Haible  <bruno@clisp.org>
26343
26344         Mark 'memcmp' obsolete.
26345         * modules/memcmp (Status, Notice): New sections.
26346         * modules/argmatch (Depends-on): Add memchr.
26347         * modules/backupfile (Depends-on): Likewise.
26348         * modules/c-strcasestr (Depends-on): Likewise.
26349         * modules/crypto/des (Depends-on): Likewise.
26350         * modules/csharpcomp (Depends-on): Likewise.
26351         * modules/fnmatch (Depends-on): Likewise.
26352         * modules/git-merge-changelog (Depends-on): Likewise.
26353         * modules/isnand (Depends-on): Likewise.
26354         * modules/isnand-nolibm (Depends-on): Likewise.
26355         * modules/isnanf (Depends-on): Likewise.
26356         * modules/isnanf-nolibm (Depends-on): Likewise.
26357         * modules/isnanl (Depends-on): Likewise.
26358         * modules/isnanl-nolibm (Depends-on): Likewise.
26359         * modules/mbchar (Depends-on): Likewise.
26360         * modules/memcoll (Depends-on): Likewise.
26361         * modules/quotearg (Depends-on): Likewise.
26362         * modules/regex (Depends-on): Likewise.
26363         * modules/relocatable-prog (Depends-on): Likewise.
26364         * modules/same (Depends-on): Likewise.
26365         * modules/signbit (Depends-on): Likewise.
26366         * modules/strcasestr-simple (Depends-on): Likewise.
26367         * modules/unictype/gen-ctype (Depends-on): Likewise.
26368         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
26369         * modules/uniname/uniname (Depends-on): Likewise.
26370         * modules/unistr/u8-cmp (Depends-on): Likewise.
26371
26372 2008-11-02  Bruno Haible  <bruno@clisp.org>
26373
26374         Mark 'memchr' obsolete.
26375         * modules/memchr (Status, Notice): New sections.
26376         * modules/argp (Depends-on): Add memchr.
26377         * modules/base64 (Depends-on): Likewise.
26378         * modules/c-strcasestr (Depends-on): Likewise.
26379         * modules/chdir-long (Depends-on): Likewise.
26380         * modules/fnmatch (Depends-on): Likewise.
26381         * modules/getsubopt (Depends-on): Likewise.
26382         * modules/git-merge-changelog (Depends-on): Likewise.
26383         * modules/glob (Depends-on): Likewise.
26384         * modules/strcasestr-simple (Depends-on): Likewise.
26385         * modules/strnlen (Depends-on): Likewise.
26386
26387 2008-11-02  Bruno Haible  <bruno@clisp.org>
26388
26389         Mark 'atexit' obsolete.
26390         * modules/atexit (Status, Notice): New sections.
26391         * modules/chdir-long (Depends-on): Add atexit.
26392         * modules/wait-process (Depends-on): Likewise.
26393
26394 2008-11-02  Bruno Haible  <bruno@clisp.org>
26395
26396         * gnulib-tool: New option --with-obsolete.
26397         (func_usage): Document it.
26398         (func_modules_transitive_closure): Drop obsolete dependencies if
26399         incobsolete is not true.
26400         (func_import): Read and save the incobsolete variable to the cache.
26401
26402 2008-11-02  Bruno Haible  <bruno@clisp.org>
26403
26404         * modules/TEMPLATE-EXTENDED: New field 'Status'.
26405         * gnulib-tool: New option --extract-status.
26406         (func_usage): Document it.
26407         (sed_extract_prog): Recognize it.
26408         (func_get_status): New function.
26409
26410 2008-10-30  Simon Josefsson  <simon@josefsson.org>
26411
26412         * modules/sockets (License): Change from LGPL to LGPLv2+.
26413
26414 2008-10-28  Simon Josefsson  <simon@josefsson.org>
26415
26416         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
26417
26418 2008-10-28  Simon Josefsson  <simon@josefsson.org>
26419
26420         * MODULES.html.sh (Support for systems lacking POSIX:2001):
26421         Mention times and sys_times.
26422         * modules/sys_times, modules/sys_times-tests: New modules.
26423         * modules/times, modules/times-tests: Likewise
26424         * m4/sys_times_h.m4: New file.
26425         * lib/sys_times.in.h: Likewise
26426         * lib/times.c: Likewise.
26427         * tests/test-sys_times.c: Likewise.
26428         * tests/test-times.c: Likewise.
26429         * doc/posix-headers/sys_times.texi: Update.
26430         * doc/posix-functions/times.texi: Update.
26431
26432 2008-10-28  Jim Meyering  <meyering@redhat.com>
26433
26434         * modules/tempname (Depends-on): Add lstat.
26435
26436         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
26437
26438 2008-10-28  Simon Josefsson  <simon@josefsson.org>
26439
26440         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
26441         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
26442         using idiom used elsewhere in gnulib.
26443
26444 2008-10-27  Jim Meyering  <meyering@redhat.com>
26445
26446         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
26447
26448 2008-10-27  Simon Josefsson  <simon@josefsson.org>
26449
26450         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
26451         TESTS_ENVIRONMENT, for shell scripts that needs to call built
26452         programs.
26453         * tests/test-argp-2.sh: Use $EXEEXT when needed.
26454
26455 2008-10-27  Simon Josefsson  <simon@josefsson.org>
26456
26457         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
26458
26459 2008-10-27  Bruno Haible  <bruno@clisp.org>
26460
26461         * tests/test-lstat.c: Include <stdio.h>.
26462
26463 2008-10-27  Simon Josefsson  <simon@josefsson.org>
26464
26465         * modules/lstat-tests: New module.
26466         * tests/test-lstat.c: New file.
26467
26468 2008-10-26  Jim Meyering  <meyering@redhat.com>
26469
26470         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
26471
26472 2008-10-26  Simon Josefsson  <simon@josefsson.org>
26473             Bruno Haible  <bruno@clisp.org>
26474
26475         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
26476         * modules/configmake (Include): Add a note that the include must come
26477         after all system headers.
26478         * lib/javaversion.c: Include configmake.h after all other includes.
26479
26480 2008-10-26  Bruno Haible  <bruno@clisp.org>
26481
26482         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
26483         HAVE_STRUCT_RANDOM_DATA to 1.
26484         (gl_STDLIB_H): Simplify.
26485
26486 2008-10-26  Simon Josefsson  <simon@josefsson.org>
26487
26488         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
26489         substitute HAVE_STRUCT_RANDOM_DATA.
26490         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
26491         random_data.
26492         * modules/stdlib (Makefile.am): Substitute
26493         HAVE_STRUCT_RANDOM_DATA.
26494
26495 2008-10-26  Simon Josefsson  <simon@josefsson.org>
26496
26497         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
26498         * doc/gnulib-intro.texi (Copyright): Likewise.
26499
26500 2008-10-26  Simon Josefsson  <simon@josefsson.org>
26501
26502         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
26503         findings.
26504
26505 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
26506             Bruno Haible  <bruno@clisp.org>
26507
26508         * lib/unistd.in.h: Include <winsock2.h>.
26509         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
26510         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
26511         Provide dummy declarations.
26512         (gethostname): Override.
26513         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
26514         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
26515         gl_PREREQ_SYS_H_WINSOCK2.
26516         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
26517         * doc/posix-functions/gethostname.texi: More details.
26518
26519 2008-10-25  Bruno Haible  <bruno@clisp.org>
26520
26521         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
26522         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
26523         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
26524
26525         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
26526         here ...
26527         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
26528         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
26529         gl_UNISTD_H_DEFAULTS.
26530
26531 2008-10-25  Eric Blake  <ebb9@byu.net>
26532
26533         signbit: avoid spurious compiler failure
26534         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
26535         declarations inside function.
26536
26537 2008-10-24  Simon Josefsson  <simon@josefsson.org>
26538             Bruno Haible  <bruno@clisp.org>
26539
26540         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
26541         * modules/random_r (Depends-on): Add stdint.
26542
26543 2008-10-24  Bruno Haible  <bruno@clisp.org>
26544
26545         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
26546         Eggert.
26547         * modules/strerror (License): Likewise.
26548
26549 2008-10-24  Jim Meyering  <meyering@redhat.com>
26550
26551         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
26552         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
26553
26554 2008-10-24  Eric Blake  <ebb9@byu.net>
26555
26556         getgroups: fix compilation when getgroups is available
26557         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
26558         but with <config.h> override of getgroups disabled.
26559
26560 2008-10-24  Simon Josefsson  <simon@josefsson.org>
26561
26562         * doc/gnulib.texi (Header files): Add note about C++ problems.
26563         Explained by Bruno Haible <bruno@clisp.org>.
26564
26565 2008-10-23  Bruno Haible  <bruno@clisp.org>
26566
26567         Define a dummy SA_NODEFER macro on Interix.
26568         * lib/signal.in.h (SA_NODEFER): Define fallback.
26569         Reported by Aleksey Cheusov <cheusov@tut.by> via
26570         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
26571
26572 2008-10-23  Bruno Haible  <bruno@clisp.org>
26573
26574         * modules/freadahead (License): Change to LGPLv2+.
26575         Suggested by Simon Josefsson.
26576
26577 2008-10-23  Jim Meyering  <meyering@redhat.com>
26578
26579         random_r: new module
26580         * modules/random_r: New file.
26581         * m4/random_r.m4: New file.
26582         * lib/random_r.c: New file, from glibc.
26583         * modules/random_r-tests: New file.
26584         * tests/test-random_r.c: New file.
26585         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
26586          Declare.
26587         (RAND_MAX): Define.
26588         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
26589         * modules/stdlib: Substitute them, too.
26590         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
26591         * doc/glibc-functions/initstate_r.texi: Mention the new module.
26592         * doc/glibc-functions/random_r.texi: Likewise.
26593         * doc/glibc-functions/setstate_r.texi: Likewise.
26594         * doc/glibc-functions/srandom_r.texi: Likewise.
26595         * config/srclist.txt: Mention it.
26596
26597 2008-10-23  David Lutterkort  <lutter@redhat.com>
26598
26599         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
26600         link requirement
26601
26602 2008-10-23  Jim Meyering  <meyering@redhat.com>
26603
26604         selinux-h: mark parameters of stub functions as intentionally unused
26605         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
26606         * lib/se-context.in.h: Likewise.
26607
26608 2008-10-22  Simon Josefsson  <simon@josefsson.org>
26609
26610         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
26611
26612 2008-10-22  Simon Josefsson  <simon@josefsson.org>
26613
26614         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
26615
26616 2008-10-22  Eric Blake  <ebb9@byu.net>
26617
26618         glthread/thread: avoid compiler warning
26619         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
26620         Add unreachable abort to silence compiler.
26621
26622 2008-10-22  Eric Blake  <ebb9@byu.net>
26623
26624         netdb: also supply struct addrinfo for cygwin 1.5.x
26625         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
26626         older cygwin.
26627         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
26628         cygwin.
26629         * doc/posix-headers/netdb.texi (netdb.h): Document this.
26630
26631 2008-10-22  Bruno Haible  <bruno@clisp.org>
26632
26633         * users.txt: Update entry about pspp.
26634
26635 2008-10-21  Bruno Haible  <bruno@clisp.org>
26636
26637         Simplification.
26638         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
26639         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
26640
26641         Simplification.
26642         * lib/ioctl.c (ioctl): Don't undefine.
26643         * lib/socket.c (socket): Don't undefine.
26644
26645         Remove unused module indicator macros.
26646         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
26647         GNULIB_$1 as a C macro.
26648
26649         * doc/posix-functions/close.texi: Undo last change.
26650         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
26651         Windows platforms.
26652
26653 2008-10-21  Bruno Haible  <bruno@clisp.org>
26654
26655         Add gethostname() declaration to <unistd.h>.
26656         * lib/unistd.in.h (gethostname): New declaration.
26657         * lib/gethostname.c: Include <unistd.h>.
26658         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
26659         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
26660         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
26661         and HAVE_GETHOSTNAME.
26662         * modules/gethostname (Depends-on): Add unistd.
26663         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
26664         (Include): Specify <unistd.h>.
26665         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
26666         HAVE_GETHOSTNAME.
26667         * tests/test-gethostname.c: Include <unistd.h> first.
26668
26669 2008-10-21  Bruno Haible  <bruno@clisp.org>
26670
26671         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
26672         * modules/select-tests (Depends-on): Likewise.
26673         Reported by Simon Josefsson.
26674
26675 2008-10-21  Simon Josefsson  <simon@josefsson.org>
26676
26677         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
26678         * lib/accept.c: New file, based on winsock.c.
26679         * lib/bind.c: New file, based on winsock.c.
26680         * lib/connect.c: New file, based on winsock.c.
26681         * lib/getpeername.c: New file, based on winsock.c.
26682         * lib/getsockname.c: New file, based on winsock.c.
26683         * lib/getsockopt.c: New file, based on winsock.c.
26684         * lib/ioctl.c: New file, based on winsock.c.
26685         * lib/listen.c: New file, based on winsock.c.
26686         * lib/recv.c: New file, based on winsock.c.
26687         * lib/recvfrom.c: New file, based on winsock.c.
26688         * lib/send.c: New file, based on winsock.c.
26689         * lib/sendto.c: New file, based on winsock.c.
26690         * lib/setsockopt.c: New file, based on winsock.c.
26691         * lib/shutdown.c: New file, based on winsock.c.
26692         * lib/socket.c: New file, based on winsock.c.
26693         * lib/w32sock.h: New file, based on winsock.c.
26694         * lib/winsock.c: Remove file.
26695         * modules/accept: Likewise.
26696         * modules/bind: Likewise.
26697         * modules/connect: Likewise.
26698         * modules/getpeername: Likewise.
26699         * modules/getsockname: Likewise.
26700         * modules/getsockopt: Likewise.
26701         * modules/ioctl: Likewise.
26702         * modules/listen: Likewise.
26703         * modules/recv: Likewise.
26704         * modules/recvfrom: Likewise.
26705         * modules/send: Likewise.
26706         * modules/sendto: Likewise.
26707         * modules/setsockopt: Likewise.
26708         * modules/shutdown: Likewise.
26709         * modules/socket: Use socket.c instead of winsock.c.
26710         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
26711         * doc/posix-functions/accept.texi: Doc fix.
26712         * doc/posix-functions/bind.texi: Doc fix.
26713         * doc/posix-functions/close.texi: Doc fix.
26714         * doc/posix-functions/connect.texi: Doc fix.
26715         * doc/posix-functions/getpeername.texi: Doc fix.
26716         * doc/posix-functions/getsockname.texi: Doc fix.
26717         * doc/posix-functions/getsockopt.texi: Doc fix.
26718         * doc/posix-functions/ioctl.texi: Doc fix.
26719         * doc/posix-functions/listen.texi: Doc fix.
26720         * doc/posix-functions/recv.texi: Doc fix.
26721         * doc/posix-functions/recvfrom.texi: Doc fix.
26722         * doc/posix-functions/send.texi: Doc fix.
26723         * doc/posix-functions/sendto.texi: Doc fix.
26724         * doc/posix-functions/setsockopt.texi: Doc fix.
26725         * doc/posix-functions/shutdown.texi: Doc fix.
26726         * doc/posix-functions/socket.texi: Doc fix.
26727
26728 2008-10-20  Bruno Haible  <bruno@clisp.org>
26729
26730         Take into account the role of SIGABRT_COMPAT on Windows 2008.
26731         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
26732         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
26733         as an alias for SIGABRT.
26734         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
26735         (sigaction): Map it to SIGABRT.
26736         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
26737
26738 2008-10-20  Bruno Haible  <bruno@clisp.org>
26739
26740         * lib/fts.c: Don't include lstat.h.
26741         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
26742
26743         Move the lstat() declaration to <sys/stat.h>.
26744         * lib/lstat.h: Remove file.
26745         * lib/sys_stat.in.h: Add special invocation convention.
26746         (lstat): New declaration.
26747         * lib/lstat.c (orig_lstat): New function.
26748         (rpl_lstat): Use orig_lstat instead of lstat.
26749         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
26750         AC_C_INLINE. Set REPLACE_LSTAT.
26751         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
26752         and REPLACE_LSTAT.
26753         * modules/lstat (Files): Remove lib/lstat.h.
26754         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
26755         (Include): Specify <sys/stat.h> instead of lstat.h.
26756         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
26757         REPLACE_LSTAT.
26758         * NEWS: Mention the change.
26759
26760 2008-10-20  Bruno Haible  <bruno@clisp.org>
26761
26762         * modules/posix_spawn-tests: New file.
26763         * tests/test-posix_spawn3.c: New file.
26764
26765 2008-10-20  Bruno Haible  <bruno@clisp.org>
26766
26767         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
26768         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
26769         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
26770         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
26771         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
26772
26773 2008-10-20  Bruno Haible  <bruno@clisp.org>
26774
26775         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
26776         of posix_spawn on AIX 5.3.
26777
26778 2008-10-20  Bruno Haible  <bruno@clisp.org>
26779
26780         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
26781
26782 2008-10-20  Bruno Haible  <bruno@clisp.org>
26783
26784         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
26785         of AC_LANG_PROGRAM.
26786
26787 2008-10-20  Simon Josefsson  <simon@josefsson.org>
26788
26789         * lib/netdb.in.h: Don't define GNU specific constants until they
26790         are supported or needed.  Reported by Bruno Haible
26791         <bruno@clisp.org>.
26792
26793 2008-10-20  Simon Josefsson  <simon@josefsson.org>
26794
26795         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
26796
26797 2008-10-20  Simon Josefsson  <simon@josefsson.org>
26798
26799         * lib/getaddrinfo.h: Remove file.
26800         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
26801         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
26802         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
26803         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
26804         * modules/netdb: Substitute GNULIB_GETADDRINFO.
26805         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
26806         * tests/test-getaddrinfo.c: Likewise.
26807         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
26808         * NEWS: Mention change.
26809
26810 2008-10-19  Bruno Haible  <bruno@clisp.org>
26811
26812         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
26813
26814 2008-10-19  Bruno Haible  <bruno@clisp.org>
26815
26816         * lib/wait-process.c: Include simply <sys/wait.h>.
26817         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
26818         WIFSTOPPED): Remove fallback definitions.
26819         * modules/wait-process (Depends-on): Add sys_wait.
26820
26821         New module 'sys_wait'.
26822         * modules/sys_wait: New file.
26823         * lib/sys_wait.in.h: New file, partially copied from
26824         lib/wait-process.c.
26825         * m4/sys_wait_h.m4: New file.
26826         * doc/posix-headers/sys_wait.texi: Mention the new module.
26827
26828 2008-10-19  Bruno Haible  <bruno@clisp.org>
26829
26830         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
26831
26832 2008-10-19  Bruno Haible  <bruno@clisp.org>
26833
26834         Assume that waitpid() fills an 'int' status, not a 'union wait'.
26835         * lib/wait-process.c (WAIT_T): Remove type.
26836         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
26837         (wait_subprocess): Update.
26838
26839 2008-10-19  Bruno Haible  <bruno@clisp.org>
26840
26841         New module 'atoll'.
26842         * modules/atoll: New file.
26843         * lib/stdlib.in.h (atoll): New declaration.
26844         * lib/atoll.c: New file, from glibc with modifications.
26845         * m4/atoll.m4: New file.
26846         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
26847         HAVE_ATOLL.
26848         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
26849         * doc/posix-functions/atoll.texi: Mention the new module.
26850
26851 2008-10-19  Bruno Haible  <bruno@clisp.org>
26852
26853         Add strtoull() declaration to <stdlib.h>.
26854         * lib/stdlib.in.h (strtoull): New declaration.
26855         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
26856         Set HAVE_STRTOULL.
26857         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
26858         HAVE_STRTOULL.
26859         * modules/strtoull (Depends-on): Add stdlib.
26860         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
26861         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
26862         HAVE_STRTOULL.
26863
26864 2008-10-19  Bruno Haible  <bruno@clisp.org>
26865
26866         Add strtoll() declaration to <stdlib.h>.
26867         * lib/stdlib.in.h (strtoll): New declaration.
26868         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
26869         Set HAVE_STRTOLL.
26870         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
26871         HAVE_STRTOLL.
26872         * modules/strtoll (Depends-on): Add stdlib.
26873         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
26874         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
26875
26876 2008-10-19  Bruno Haible  <bruno@clisp.org>
26877
26878         * modules/bcopy (Depends-on): Add strings.
26879         (Include): Specify <strings.h>.
26880
26881 2008-10-19  Bruno Haible  <bruno@clisp.org>
26882
26883         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
26884
26885 2008-10-19  Bruno Haible  <bruno@clisp.org>
26886
26887         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
26888         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
26889         mingw.
26890
26891 2008-10-19  Bruno Haible  <bruno@clisp.org>
26892
26893         * lib/atanl.c: Don't include isnanl.h.
26894         * lib/cosl.c: Likewise.
26895         * lib/ldexpl.c: Likewise.
26896         * lib/logl.c: Likewise.
26897         * lib/sinl.c: Likewise.
26898         * lib/sqrtl.c: Likewise.
26899         * lib/tanl.c: Likewise.
26900
26901         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
26902         * lib/isnanf.h: Remove file.
26903         * lib/isnand.h: Remove file.
26904         * lib/isnanl.h: Remove file.
26905         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
26906         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
26907         macros.
26908         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
26909         HAVE_ISNANF, don't define it as a C macro.
26910         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
26911         HAVE_ISNAND, don't define it as a C macro.
26912         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
26913         HAVE_ISNANL, don't define it as a C macro.
26914         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
26915         HAVE_ISNAN[FDL].
26916         * modules/isnanf (Files): Remove lib/isnanf.h.
26917         (Depends-on): Add math.
26918         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
26919         (Include): Specify <math.h> instead of isnanf.h.
26920         * modules/isnand (Files): Remove lib/isnand.h.
26921         (Depends-on): Add math.
26922         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
26923         (Include): Specify <math.h> instead of isnand.h.
26924         * modules/isnanl (Files): Remove lib/isnanl.h.
26925         (Depends-on): Add math.
26926         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
26927         (Include): Specify <math.h> instead of isnanl.h.
26928         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
26929         HAVE_ISNAN[FDL].
26930         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
26931         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
26932         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
26933         * NEWS: Mention the change.
26934
26935 2008-10-18  Bruno Haible  <bruno@clisp.org>
26936
26937         Add getusershell(), setusershell(), endusershell() declarations to
26938         <unistd.h>.
26939         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
26940         declarations.
26941         * lib/getusershell.c: Include unistd.h.
26942         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
26943         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
26944         HAVE_GETUSERSHELL.
26945         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
26946         and HAVE_GETUSERSHELL.
26947         * modules/getusershell (Depends-on): Add unistd, extensions.
26948         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
26949         (Include): Specify <unistd.h>.
26950         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
26951         HAVE_GETUSERSHELL.
26952
26953 2008-10-18  Bruno Haible  <bruno@clisp.org>
26954
26955         Add a getloadavg() declaration to <stdlib.h>.
26956         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
26957         getloadavg declaration.
26958         (getloadavg): New declaration.
26959         * lib/getloadavg.c: Include <stdlib.h> first.
26960         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
26961         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
26962         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
26963         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
26964         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
26965         * modules/getloadavg (Depends-on): Add stdlib, extensions.
26966         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
26967         (Include): Specify <stdlib.h>.
26968         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
26969         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
26970
26971 2008-10-18  Bruno Haible  <bruno@clisp.org>
26972
26973         * lib/dirchownmod.c: Don't include lchmod.h.
26974
26975         Move the lchmod() declaration to <sys/stat.h>.
26976         * lib/lchmod.h: Remove file.
26977         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
26978         (lchmod): New declaration, moved here from lib/lchown.h.
26979         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
26980         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
26981         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
26982         and HAVE_LCHMOD.
26983         * modules/lchmod (Files): Remove lib/lchmod.h.
26984         (Depends-on): Add sys_stat, extensions.
26985         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
26986         (Include): Specify <sys/stat.h> instead of lchmod.h.
26987         * modules/sys_stat (Depends-on): Add link-warning.
26988         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
26989         definition of GL_LINK_WARNING.
26990         * NEWS: Mention the change.
26991
26992 2008-10-18  Bruno Haible  <bruno@clisp.org>
26993
26994         * lib/fchdir.c: Don't include dirfd.h.
26995         * lib/fts.c: Likewise.
26996         * lib/getcwd.c: Likewise.
26997         * lib/glob.c: Likewise.
26998
26999         Move the dirfd() declaration to <dirent.h>.
27000         * lib/dirfd.h: Remove file.
27001         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
27002         (dirfd): New declaration.
27003         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
27004         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
27005         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
27006         HAVE_DECL_DIRFD.
27007         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
27008         HAVE_DECL_DIRFD.
27009         * modules/dirfd (Files): Remove lib/dirfd.h.
27010         (Depends-on): Add dirent, extensions.
27011         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
27012         (Include): Specify <dirent.h> instead of dirfd.h.
27013         * modules/dirent (Depends-on): Add link-warning.
27014         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
27015         definition of GL_LINK_WARNING.
27016         * NEWS: Mention the change.
27017
27018 2008-10-18  Bruno Haible  <bruno@clisp.org>
27019
27020         Move the euidaccess() declaration to <unistd.h>.
27021         * lib/euidaccess.h: Remove file.
27022         * lib/unistd.in.h (euidaccess): New declaration.
27023         * lib/euidaccess.c: Don't include euidaccess.h.
27024         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
27025         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
27026         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
27027         and HAVE_EUIDACCESS.
27028         * modules/euidaccess (Files): Remove lib/euidaccess.h.
27029         (Depends-on): Add unistd.
27030         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
27031         (Include): Specify <unistd.h> instead of euidaccess.h.
27032         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
27033         HAVE_EUIDACCESS.
27034         * NEWS: Mention the change.
27035
27036 2008-10-18  Bruno Haible  <bruno@clisp.org>
27037
27038         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
27039
27040         Move the getdomainname() declaration to <unistd.h>.
27041         * lib/getdomainname.h: Remove file.
27042         * lib/unistd.in.h (getdomainname): New declaration.
27043         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
27044         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
27045         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
27046         HAVE_GETDOMAINNAME.
27047         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
27048         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
27049         * modules/getdomainname (Files): Remove lib/getdomainname.h.
27050         (Depends-on): Add unistd, extensions.
27051         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
27052         (Includes): Specify <unistd.h> instead of getdomainname.h.
27053         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
27054         HAVE_GETDOMAINNAME.
27055         * NEWS: Mention the change.
27056
27057 2008-10-18  Bruno Haible  <bruno@clisp.org>
27058
27059         * modules/dirent: New file.
27060         * m4/dirent_h.m4: New file.
27061         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
27062         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
27063         * modules/fchdir (Files): Remove lib/dirent.in.h.
27064         (Depends-on): Add dirent.
27065         (Makefile.am): Move rules to modules/dirent.
27066         * doc/posix-headers/dirent.texi: Mention the new module.
27067
27068 2008-10-18  Bruno Haible  <bruno@clisp.org>
27069
27070         Avoid -Wunused-parameter warnings in public gnulib header files.
27071         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
27072         macro.
27073         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
27074
27075 2008-10-18  Bruno Haible  <bruno@clisp.org>
27076
27077         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
27078         * doc/glibc-functions/error.texi: Mention the module 'error'.
27079         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
27080         * doc/glibc-functions/getdomainname.texi: Mention the module
27081         'getdomainname'.
27082         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
27083         * doc/glibc-functions/getpagesize.texi: Mention the module
27084         'getpagesize'.
27085         * doc/glibc-functions/getusershell.texi: Mention the module
27086         'getusershell'.
27087         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
27088         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
27089         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
27090         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
27091         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
27092         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
27093         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
27094         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
27095         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
27096         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
27097         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
27098         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
27099         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
27100         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
27101
27102 2008-10-17  Bruno Haible  <bruno@clisp.org>
27103
27104         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
27105         HP-UX and IRIX, use -0.0L.
27106         * tests/test-ceill.c (minus_zero): Likewise.
27107         * tests/test-floorl.c (minus_zero): Likewise.
27108         * tests/test-frexpl.c (minus_zero): Likewise.
27109         * tests/test-isnan.c (minus_zerol): Likewise.
27110         * tests/test-isnanl.h (minus_zero): Likewise.
27111         * tests/test-ldexpl.c (minus_zero): Likewise.
27112         * tests/test-roundl.c (minus_zero): Likewise.
27113         * tests/test-signbit.c (minus_zerol): Likewise.
27114         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
27115         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
27116         * tests/test-truncl.c (minus_zero): Likewise.
27117         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
27118         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
27119         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
27120         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
27121
27122 2008-10-17  Bruno Haible  <bruno@clisp.org>
27123
27124         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
27125         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
27126         that it gets activated only for gcc >= 3.0.
27127         * lib/dirent.in.h: Likewise.
27128         * lib/errno.in.h: Likewise.
27129         * lib/fcntl.in.h: Likewise.
27130         * lib/float.in.h: Likewise.
27131         * lib/iconv.in.h: Likewise.
27132         * lib/inttypes.in.h: Likewise.
27133         * lib/locale.in.h: Likewise.
27134         * lib/math.in.h: Likewise.
27135         * lib/netdb.in.h: Likewise.
27136         * lib/netinet_in.in.h: Likewise.
27137         * lib/search.in.h: Likewise.
27138         * lib/signal.in.h: Likewise.
27139         * lib/spawn.in.h: Likewise.
27140         * lib/stdarg.in.h: Likewise.
27141         * lib/stdint.in.h: Likewise.
27142         * lib/stdio.in.h: Likewise.
27143         * lib/stdlib.in.h: Likewise.
27144         * lib/string.in.h: Likewise.
27145         * lib/strings.in.h: Likewise.
27146         * lib/sys_file.in.h: Likewise.
27147         * lib/sys_ioctl.in.h: Likewise.
27148         * lib/sys_select.in.h: Likewise.
27149         * lib/sys_socket.in.h: Likewise.
27150         * lib/sys_stat.in.h: Likewise.
27151         * lib/sys_time.in.h: Likewise.
27152         * lib/sysexits.in.h: Likewise.
27153         * lib/time.in.h: Likewise.
27154         * lib/unistd.in.h: Likewise.
27155         * lib/wchar.in.h: Likewise.
27156         * lib/wctype.in.h: Likewise.
27157         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
27158
27159 2008-10-17  Jim Meyering  <meyering@redhat.com>
27160
27161         ignore-value: don't depend on inline module
27162         * modules/ignore-value (Depends-on): Remove 'inline'.
27163         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
27164         Suggestion from Bruno Haible.
27165
27166 2008-10-17  Bruno Haible  <bruno@clisp.org>
27167
27168         New implementation of condition variables for Win32.
27169         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
27170         (gl_linked_waitqueue_t): New type.
27171         (gl_cond_t): Use it.
27172         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
27173         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
27174         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
27175         (glthread_cond_init_func, glthread_cond_wait_func,
27176         glthread_cond_timedwait_func, glthread_cond_signal_func,
27177         glthread_cond_broadcast_func, glthread_cond_destroy_func):
27178         Reimplemented on the basis of gl_linked_waitqueue_t.
27179         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
27180         gl_waitqueue_t.
27181         (gl_rwlock_t): Update.
27182         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
27183
27184 2008-10-17  Simon Josefsson  <simon@josefsson.org>
27185
27186         * modules/recvfrom (Depends-on): Add dependency on getpeername.
27187         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
27188
27189 2008-10-17  Jim Meyering  <meyering@redhat.com>
27190
27191         ignore-value: new module
27192         * modules/ignore-value: New file.
27193         * lib/ignore-value.h: New file.
27194         * MODULES.html.sh (Compiler warning management): New section,
27195         just for this module.  More to come.
27196
27197 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
27198
27199         open-safer.c: avoid 'signed and unsigned in conditional...' warning
27200         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
27201         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
27202
27203 2008-10-16  Jim Meyering  <meyering@redhat.com>
27204
27205         openat-die.c: avoid 'no previous prototype' warning
27206         * lib/openat-die.c: Include "openat.h".
27207         Reported by Reuben Thomas <rrt@sc3d.org>.
27208
27209 2008-10-16  Simon Josefsson  <simon@josefsson.org>
27210
27211         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
27212         * lib/netdb.in.h: Fix typo.
27213         Reported by Bruno Haible  <bruno@clisp.org>
27214
27215         * lib/netdb.in.h: Include sys/socket.h for platforms without
27216         netdb.h, to get structures like hostent on MinGW.
27217         * modules/netdb (Depends-on): Add sys_socket.
27218
27219 2008-10-15  Simon Josefsson  <simon@josefsson.org>
27220
27221         * modules/netdb, modules/netdb-tests: New file.
27222         * m4/netdb_h.m4: New file.
27223         * lib/netdb.in.h: Add, currently just an empty file pending
27224         definitions.
27225         * tests/test-netdb.c: New file.
27226         * doc/posix-headers/netdb.texi: Mention that we replace it if
27227         needed.
27228         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
27229         netdb.
27230
27231 2008-10-15  Simon Josefsson  <simon@josefsson.org>
27232
27233         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
27234         with code.
27235
27236 2008-10-13  Bruno Haible  <bruno@clisp.org>
27237
27238         * lib/glthread/cond.c (glthread_cond_wait_func,
27239         glthread_cond_timedwait_func): Add a comment.
27240
27241 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
27242
27243         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
27244         * tests/test-select.c: Likewise,
27245
27246 2008-10-13  Bruno Haible  <bruno@clisp.org>
27247
27248         * lib/glthread/cond.c (glthread_cond_wait_func,
27249         glthread_cond_timedwait_func): Fix variable name.
27250         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
27251
27252 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
27253
27254         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
27255         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
27256         struct sockaddr.sa_len.
27257         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
27258
27259 2008-10-13  Simon Josefsson  <simon@josefsson.org>
27260
27261         * build-aux/pmccabe2html: Add css and css_url parameters.
27262
27263 2008-10-12  Bruno Haible  <bruno@clisp.org>
27264
27265         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
27266         calling aclx_get.
27267         Reported by Rainer Tammer <tammer@tammer.net>.
27268
27269 2008-10-12  Bruno Haible  <bruno@clisp.org>
27270
27271         Use msvcrt aware primitives for creation/termination of Win32 threads.
27272         * lib/glthread/thread.c: Include <process.h>.
27273         (glthread_create_func): Use _beginthreadex instead of CreateThread.
27274         (wrapper_func): Update signature.
27275         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
27276
27277 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
27278             Bruno Haible  <bruno@clisp.org>
27279
27280         Provide a Win32 implementation of the 'cond' module.
27281         * lib/glthread/cond.h [USE_WIN32]: New implementation.
27282         * lib/glthread/cond.c (glthread_cond_init_func,
27283         glthread_cond_wait_func, glthread_cond_timedwait_func,
27284         glthread_cond_signal_func, glthread_cond_broadcast_func,
27285         glthread_cond_destroy_func) [USE_WIN32]: New functions.
27286         * modules/cond (Dependencies): Add gettimeofday.
27287
27288 2008-10-11  Bruno Haible  <bruno@clisp.org>
27289
27290         Make sleep work on older versions of mingw.
27291         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
27292         only whether it exists.
27293         * doc/posix-functions/sleep.texi: Mention the problem with older
27294         versions of mingw.
27295
27296 2008-10-11  Bruno Haible  <bruno@clisp.org>
27297
27298         New module 'shutdown'.
27299         * modules/shutdown: New file.
27300         * lib/sys_socket.in.h (shutdown): New declaration.
27301         * lib/winsock.c (shutdown): New function.
27302         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
27303         GNULIB_SHUTDOWN.
27304         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
27305         * doc/posix-functions/shutdown.texi: Document the new module.
27306
27307 2008-10-11  Jim Meyering  <meyering@redhat.com>
27308
27309         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
27310
27311 2008-10-11  Bruno Haible  <bruno@clisp.org>
27312
27313         New module 'fclose'.
27314         * modules/fclose: New file.
27315         * lib/stdio.in.h (fclose): New declaration.
27316         * lib/fclose.c: New file.
27317         * m4/fclose.m4: New file.
27318         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
27319         REPLACE_FCLOSE.
27320         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
27321         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
27322         REPLACE_FCLOSE.
27323         * modules/close (Depends-on): fclose.
27324         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
27325
27326 2008-10-11  Bruno Haible  <bruno@clisp.org>
27327
27328         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
27329         set errno and don't call _close.
27330
27331 2008-10-10  Bruno Haible  <bruno@clisp.org>
27332
27333         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
27334         ACL, not afterwards. Fixes test failure on Cygwin.
27335
27336 2008-10-09  Ben Pfaff  <blp@gnu.org>
27337
27338         * build-aux/announce-gen: Fix gnulib version related part of usage
27339         message.  Die with a useful error message if no tarballs are
27340         found.
27341
27342 2008-10-10  Jim Meyering  <meyering@redhat.com>
27343
27344         bootstrap: use git's --depth=N option only if it's supported
27345         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
27346         recognize the --depth option.  Reported by Pádraig Brady.
27347
27348 2008-10-09  Bruno Haible  <bruno@clisp.org>
27349
27350         New module 'ioctl'.
27351         * modules/ioctl: New file.
27352         * lib/sys_socket.in.h (ioctl): Remove declaration.
27353         * lib/winsock.c: Include <sys/ioctl.h>.
27354         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
27355         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
27356         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
27357         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
27358         * doc/posix-functions/ioctl.texi: Mention the new module.
27359
27360 2008-10-09  Bruno Haible  <bruno@clisp.org>
27361
27362         New module 'sys_ioctl'.
27363         * lib/sys_ioctl.in.h: New file.
27364         * m4/sys_ioctl_h.m4: New file.
27365         * modules/sys_ioctl: New file.
27366         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
27367
27368 2008-10-09  Bruno Haible  <bruno@clisp.org>
27369
27370         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
27371         * lib/winsock.c: Include <stdarg.h>.
27372         (rpl_ioctl): Change to second argument 'int' and then varargs.
27373
27374 2008-10-09  Bruno Haible  <bruno@clisp.org>
27375
27376         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
27377         when the sys_socket module is present and the system has <winsock2.h>.
27378
27379 2008-10-09  Bruno Haible  <bruno@clisp.org>
27380
27381         * doc/posix-functions/close.texi: Mention module 'close' instead of
27382         module 'sys_socket'.
27383
27384 2008-10-09  Bruno Haible  <bruno@clisp.org>
27385
27386         * doc/glibc-headers/sys_ioctl.texi: New file.
27387         * doc/gnulib.texi: Include it.
27388
27389 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
27390             Bruno Haible  <bruno@clisp.org>
27391
27392         Combine the two replacements of 'close'.
27393         * lib/sys_socket.in.h (close): Define to a reminder to include
27394         <unistd.h>.
27395         (_gl_close_fd_maybe_socket): New declaration.
27396         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
27397         * lib/winsock.c (close): Remove undefinition.
27398         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
27399         needed for the gnulib module 'close'.
27400         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
27401         define to an error symbol or to a warning, if suitable.
27402         * lib/close.c: Include <sys/socket.h>.
27403         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
27404         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
27405         UNISTD_H_HAVE_WINSOCK2_H.
27406         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
27407         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
27408         UNISTD_H_HAVE_WINSOCK2_H.
27409         * modules/sys_socket (Files): Add m4/unistd_h.m4.
27410         (configure.ac): Set a module indicator.
27411         (Makefile.am): Substitute GNULIB_CLOSE.
27412         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
27413         * modules/poll-tests (Depends-on): Add close.
27414         * modules/select-tests (Depends-on): Likewise.
27415
27416 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
27417             Bruno Haible  <bruno@clisp.org>
27418
27419         New module 'close'.
27420         * modules/close: New file.
27421         * lib/unistd.in.h (close): Move declaration out of the
27422         FCHDIR_REPLACEMENT scope.
27423         (_gl_unregister_fd): New declaration.
27424         * lib/close.c: New file.
27425         * lib/fchdir.c (rpl_close): Remove function.
27426         * m4/close.m4: New file.
27427         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
27428         close.
27429         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
27430         REPLACE_CLOSE.
27431         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
27432         REPLACE_CLOSE.
27433         * modules/fchdir (Depends-on): Add close.
27434
27435 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
27436             Bruno Haible  <bruno@clisp.org>
27437
27438         * lib/fcntl.in.h (open): Simplify conditionals.
27439         (_gl_register_fd): New declaration.
27440         * lib/fchdir.c (rpl_open): Remove function.
27441         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
27442         also.
27443         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
27444         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
27445         open.
27446
27447 2008-10-09  Jim Meyering  <meyering@redhat.com>
27448
27449         GNUmakefile: use the more name-space-friendly "_version"
27450         * top/GNUmakefile (_dummy): Update.
27451         (_version): Rename from "version".
27452
27453 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
27454             Bruno Haible  <bruno@clisp.org>
27455
27456         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
27457         rpl_close.
27458         (_gl_register_fd): New function, extracted from rpl_open.
27459         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
27460         (rpl_open, rpl_opendir): Use _gl_register_fd.
27461
27462 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
27463
27464         Fix organization of 'open' replacement.
27465         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
27466         (gl_FUNC_OPEN): Use it.
27467         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
27468
27469 2008-10-08  Bruno Haible  <bruno@clisp.org>
27470
27471         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
27472
27473 2008-10-08  Simon Josefsson  <simon@josefsson.org>
27474
27475         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
27476         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
27477         listen).
27478
27479 2008-10-08  Eric Blake  <ebb9@byu.net>
27480
27481         GNUmakefile: add 'make version' target
27482         * top/GNUmakefile (_curr-ver): Split version update rules...
27483         (version): ...into a target.
27484
27485 2008-10-07  Bruno Haible  <bruno@clisp.org>
27486
27487         Use a more portable replacement expression for -0.0L.
27488         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
27489         instead of -0.0L. Fix m4 quotation.
27490
27491         * tests/test-signbit.c: Include <float.h>.
27492         (minus_zero): New variable.
27493         (test_signbitl): Use minus_zero instead of -zero.
27494         * modules/signbit-tests (Depends-on): Add float.
27495
27496         * tests/test-ceill.c: Include <float.h>.
27497         (zero): Remove variable.
27498         (minus_zero): New variable.
27499         (main): Use minus_zero instead of -zero.
27500         * modules/ceill-tests (Depends-on): Add float.
27501
27502         * tests/test-floorl.c: Include <float.h>.
27503         (zero): Remove variable.
27504         (minus_zero): New variable.
27505         (main): Use minus_zero instead of -zero.
27506         * modules/floorl-tests (Depends-on): Add float.
27507
27508         * tests/test-roundl.c: Include <float.h>.
27509         (zero): Remove variable.
27510         (minus_zero): New variable.
27511         (main): Use minus_zero instead of -zero.
27512         * modules/roundl-tests (Depends-on): Add float.
27513
27514         * tests/test-truncl.c: Include <float.h>.
27515         (zero): Remove variable.
27516         (minus_zero): New variable.
27517         (main): Use minus_zero instead of -zero.
27518         * modules/truncl-tests (Depends-on): Add float.
27519
27520         * tests/test-frexpl.c (zero): Remove variable.
27521         (minus_zero): New variable.
27522         (main): Use minus_zero instead of -zero.
27523         * modules/frexpl-tests (Depends-on): Add float.
27524
27525         * tests/test-isnan.c (zerol): Remove variable.
27526         (minus_zerol): New variable.
27527         (test_long_double): Use minus_zerol instead of -zerol.
27528         * modules/isnan-tests (Depends-on): Add float.
27529
27530         * tests/test-isnanl.h (zero): Remove variable.
27531         (minus_zero): New variable.
27532         (main): Use minus_zero instead of -zero.
27533         * modules/isnanl-nolibm-tests (Depends-on): Add float.
27534         * modules/isnanl-tests (Depends-on): Add float.
27535
27536         * tests/test-ldexpl.c (zero): Remove variable.
27537         (minus_zero): New variable.
27538         (main): Use minus_zero instead of -zero.
27539         * modules/ldexpl-tests (Depends-on): Add float.
27540
27541         * tests/test-snprintf-posix.h (zerol): Remove variable.
27542         (minus_zerol): New variable.
27543         (test_function): Use minus_zerol instead of -zerol.
27544         * modules/snprintf-posix-tests (Depends-on): Add float.
27545         * modules/vsnprintf-posix-tests (Depends-on): Add float.
27546
27547         * tests/test-sprintf-posix.h (zerol): Remove variable.
27548         (minus_zerol): New variable.
27549         (test_function): Use minus_zerol instead of -zerol.
27550         * modules/sprintf-posix-tests (Depends-on): Add float.
27551         * modules/vsprintf-posix-tests (Depends-on): Add float.
27552
27553         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
27554         (minus_zerol): New variable.
27555         (test_function): Use minus_zerol instead of -zerol.
27556         * modules/vasnprintf-posix-tests (Depends-on): Add float.
27557
27558         * tests/test-vasprintf-posix.c (zerol): Remove variable.
27559         (minus_zerol): New variable.
27560         (test_function): Use minus_zerol instead of -zerol.
27561         * modules/vasprintf-posix-tests (Depends-on): Add float.
27562
27563 2008-10-07  Simon Josefsson  <simon@josefsson.org>
27564
27565         * MODULES.html.sh (Support for building documentation): Mention
27566         pmccabe2html.  Sort entries.
27567
27568         Add pmccabe2html module, from gnupdf.
27569         * build-aux/pmccabe.css: New file.
27570         * build-aux/pmccabe2html: New file.
27571         * m4/pmccabe2html.m4: New file.
27572         * modules/pmccabe2html: New file.
27573
27574 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
27575
27576         flock: new module
27577         * MODULES.html.sh: Add to list of modules.
27578         * lib/flock.c: flock implementation for Windows and Unix systems
27579         which have fcntl.
27580         * doc/glibc-functions/flock.texi: Update documentation.
27581         * lib/sys_file.in.h: <sys/file.h> header file.
27582         * m4/flock.m4: M4 macros.
27583         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
27584         * modules/flock: flock module.
27585         * modules/flock-tests: flock tests module.
27586         * modules/sys_file: sys/file.h module.
27587         * tests/test-flock.c: test suite for flock.
27588
27589 2008-10-06  Jim Meyering  <meyering@redhat.com>
27590
27591         bootstrap: check for LT_INIT more portably still ;-)
27592         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
27593         Spotted by Bruno Haible.
27594
27595 2008-10-06  Eric Blake  <ebb9@byu.net>
27596
27597         test-signbit: avoid tripping Irix cc bug on -0.0L
27598         * tests/test-signbit.c (minus_zerol): Delete, and replace with
27599         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
27600         entire testsuite consistent and avoids an Irix 6.2 bug.
27601
27602 2008-10-05  Bruno Haible  <bruno@clisp.org>
27603             Jim Meyering  <jim@meyering.net>
27604
27605         Add an option for ignoring EPIPE during close_stdout.
27606         * lib/closeout.h: Include <stdbool.h>.
27607         (close_stdout_set_ignore_EPIPE): New declaration.
27608         * lib/closeout.c: Include <stdbool.h>.
27609         (ignore_EPIPE): New variable.
27610         (close_stdout_set_ignore_EPIPE): New function.
27611         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
27612         * lib/close-stream.c (close_stream): Mention the possible EPIPE
27613         failure.
27614         * modules/closeout (Depends-on): Add stdbool.
27615
27616 2008-10-05  Bruno Haible  <bruno@clisp.org>
27617
27618         * modules/accept: New file.
27619         * modules/bind: New file.
27620         * modules/connect: New file.
27621         * modules/getpeername: New file.
27622         * modules/getsockname: New file.
27623         * modules/getsockopt: New file.
27624         * modules/listen: New file.
27625         * modules/recv: New file.
27626         * modules/recvfrom: New file.
27627         * modules/send: New file.
27628         * modules/sendto: New file.
27629         * modules/setsockopt: New file.
27630         * modules/socket: New file.
27631         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
27632         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
27633         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
27634         the particular module is requested. Add a link warning when the
27635         particular module is not requested.
27636         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
27637         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
27638         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
27639         the particular module is requested.
27640         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
27641         gl_SYS_SOCKET_H_DEFAULTS): New macros.
27642         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
27643         * modules/sys_socket (Depends-on): Add link-warning.
27644         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
27645         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
27646         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
27647         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
27648         GL_LINK_WARNING.
27649         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
27650         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
27651         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
27652         * doc/posix-functions/getpeername.texi: Mention the new module
27653         'getpeername'.
27654         * doc/posix-functions/getsockname.texi: Mention the new module
27655         'getsockname'.
27656         * doc/posix-functions/getsockopt.texi: Mention the new module
27657         'getsockopt'.
27658         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
27659         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
27660         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
27661         * doc/posix-functions/send.texi: Mention the new module 'send'.
27662         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
27663         * doc/posix-functions/setsockopt.texi: Mention the new module
27664         'setsockopt'.
27665         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
27666         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
27667         listen, connect, accept.
27668         * modules/select-tests (Depends-on): Likewise.
27669
27670 2008-10-05  Bruno Haible  <bruno@clisp.org>
27671
27672         * lib/winsock.c (strerror): Remove unused #undef.
27673         (rpl_close): Remove unused local variable.
27674
27675         * modules/sys_socket (Depends-on); Add errno.
27676
27677 2008-10-05  Bruno Haible  <bruno@clisp.org>
27678
27679         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
27680         (select): Add a link warning when the 'select' module is not used.
27681         * modules/sys_select (Depends-on): Add link-warning.
27682         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
27683         Suggested by Paolo Bonzini.
27684
27685 2008-10-05  Jim Meyering  <meyering@redhat.com>
27686
27687         bootstrap: check for LT_INIT more portably
27688         * build-aux/bootstrap: Avoid using grep -E, since it's not
27689         portable enough.  Suggestion from Bruno Haible.
27690
27691 2008-10-05  Bruno Haible  <bruno@clisp.org>
27692
27693         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
27694         as being fixed by gnulib.
27695
27696 2008-10-05  Bruno Haible  <bruno@clisp.org>
27697
27698         * modules/select-tests: New file, mostly copied from
27699         modules/sys_select-tests.
27700         * tests/test-select.c: New file, mostly copied from
27701         tests/test-sys_select.c.
27702         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
27703         * modules/sys_select-tests (Depends-on): Remove all dependencies.
27704         (Makefile.am): Remove test_sys_select_LDADD.
27705
27706         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
27707         to an undefined symbol, for an error message.
27708         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
27709         (gl_SYS_SELECT_H_DEFAULTS): New macro.
27710         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
27711         winsock-select.c here.
27712         * modules/sys_select (Files): Remove lib/winsock-select.c.
27713         (Depends-on): Remove alloca.
27714         (Makefile.am): Substitute GNULIB_SELECT.
27715         * modules/select: New file.
27716         * doc/posix-functions/select.texi: Update.
27717
27718 2008-10-05  Bruno Haible  <bruno@clisp.org>
27719
27720         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
27721         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
27722         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
27723         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
27724         getdtablesize.
27725         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
27726         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
27727
27728 2008-10-05  Bruno Haible  <bruno@clisp.org>
27729
27730         * modules/getdtablesize-tests: New file.
27731         * tests/test-getdtablesize.c: New file.
27732
27733         New module 'getdtablesize'.
27734         * lib/unistd.in.h (getdtablesize): New declaration.
27735         * lib/getdtablesize.c: New file.
27736         * m4/getdtablesize.m4: New file.
27737         * modules/getdtablesize: New file.
27738         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
27739         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
27740         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
27741         HAVE_GETDTABLESIZE.
27742         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
27743
27744 2008-10-05  Bruno Haible  <bruno@clisp.org>
27745
27746         * modules/sched (Makefile.am): Fix typo.
27747         Reported by Simon Josefsson.
27748
27749 2008-10-05  Jim Meyering  <meyering@redhat.com>
27750
27751         bootstrap: check for LT_INIT, too
27752         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
27753         are deprecated.  Suggestion from Ralf Wildenhues.
27754
27755 2008-10-05  Bruno Haible  <bruno@clisp.org>
27756
27757         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
27758         overriding them by ours.
27759         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
27760
27761 2008-10-05  Jim Meyering  <meyering@redhat.com>
27762
27763         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
27764         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
27765         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
27766
27767 2008-10-04  Bruno Haible  <bruno@clisp.org>
27768
27769         * modules/dup2 (License): Change to LGPLv2+.
27770         * modules/sleep (License): Likewise.
27771         * modules/perror (License): Likewise.
27772         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
27773         Blake.
27774         * modules/signal (License): Likewise.
27775         * modules/sigprocmask (License): Likewise.
27776         * modules/raise (License): Change to LGPLv2+, with approval by Jim
27777         Meyering.
27778
27779 2008-10-04  Bruno Haible  <bruno@clisp.org>
27780
27781         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
27782         Reported by Rainer Tammer <tammer@tammer.net>.
27783
27784 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
27785             Bruno Haible  <bruno@clisp.org>
27786
27787         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
27788         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
27789         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
27790
27791 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
27792
27793         filevercmp: new module
27794         * lib/filevercmp.h: New function filevercmp comparing version strings.
27795         * lib/filevercmp.c: Implementation of filevercmp function.
27796         * modules/filevercmp: Module metadata.
27797         * tests/test-filevercmp.c: Unit test for new module.
27798         * modules/filevercmp-tests: Unit test metadata.
27799         * MODULES.html.sh: Add filevercmp module.
27800
27801 2008-10-03  Bruno Haible  <bruno@clisp.org>
27802
27803         * lib/c-ctype.h: Add comment.
27804         Reported by Jim Meyering.
27805
27806 2008-10-02  Bruno Haible  <bruno@clisp.org>
27807
27808         * modules/posix_spawn-internal (Depends-on): Add 'open'.
27809
27810 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
27811
27812         * build-aux/bootstrap: Allow renaming bootstrap, and change the
27813         name of bootstrap.conf accordingly.
27814
27815 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
27816
27817         * build-aux/bootstrap: Install git-merge-changelog configuration
27818         items into .gitconfig if needed.
27819
27820 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
27821
27822         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
27823         git repository, and initialize/update it accordingly.
27824
27825 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
27826
27827         * modules/fsync-tests: New file.
27828         * tests/test-fsync.c: New file.
27829
27830         New module 'fsync'.
27831         * lib/fsync.c: New file.
27832         * m4/fsync.m4: New file.
27833         * modules/fsync: New file.
27834         * lib/unistd.in.h (fsync): New declaration.
27835         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
27836         GNULIB_FSYNC and HAVE_FSYNC.
27837         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
27838         * MODULES.html.sh (posix_functions): Add fsync.
27839         * doc/posix-functions/fsync.texi: Mention the new module.
27840
27841 2008-10-02  Jim Meyering  <meyering@redhat.com>
27842
27843         fts.c: sync with similar code from coreutils' remove.c
27844         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
27845         Guard also with "#if defined __linux__", since for now at least,
27846         this code is Linux-kernel-specific.
27847
27848 2008-10-02  Jim Meyering  <meyering@redhat.com>
27849
27850         fts: bug fixes
27851         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
27852         Include <sys/vfs.h>, not <sys/statfs.h>.
27853
27854         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
27855         Include <sys/vfs.h>, not <sys/statfs.h>.
27856
27857 2008-10-01  Bruno Haible  <bruno@clisp.org>
27858
27859         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
27860         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
27861         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
27862         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
27863         * doc/posix-functions/posix_spawnp.texi: Likewise.
27864         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
27865         whether posix_spawn actually works.
27866         * m4/pipe.m4 (gl_PIPE): Likewise.
27867         * modules/execute (Files): Add m4/posix_spawn.m4.
27868         * modules/pipe (Files): Add m4/posix_spawn.m4.
27869         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
27870
27871 2008-10-01  Jim Meyering  <meyering@redhat.com>
27872
27873         remove trailing spaces
27874         * NEWS: Likewise.
27875         * lib/poll.c (poll): Likewise.
27876         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
27877         * lib/winsock.c (rpl_close): Likewise.
27878         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
27879         * modules/yield: Likewise.
27880         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
27881         * tests/test-sys_select.c (connect_to_socket): Likewise.
27882
27883         fts.c: adjust a new interface to be more generally useful
27884         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
27885         (fts_build): Adjust caller.
27886
27887 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
27888
27889         * modules/cond-tests: New file.
27890         * tests/test-cond.c: New file.
27891
27892 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
27893             Bruno Haible  <bruno@clisp.org>
27894
27895         * modules/cond (Dependencies): Add errno, time.
27896         * lib/glthread/cond.h: Include <time.h>.
27897         (gl_cond_define, gl_cond_define_initialized): Use the same definition
27898         across platforms.
27899
27900 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
27901             Bruno Haible  <bruno@clisp.org>
27902
27903         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
27904
27905 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
27906             Bruno Haible  <bruno@clisp.org>
27907
27908         * modules/tls-tests (Depends-on): Add thread, yield.
27909         (configure.ac): Remove all checks.
27910         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
27911         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
27912         gl_thread_self): Remove definitions. Include glthread/thread.h and
27913         glthread/yield.h instead.
27914         (test_tls): Pass an additional NULL argument to gl_thread_join.
27915
27916 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
27917             Bruno Haible  <bruno@clisp.org>
27918
27919         * modules/lock-tests (Depends-on): Add thread, yield.
27920         (configure.ac): Remove all checks.
27921         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
27922         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
27923         gl_thread_self): Remove definitions. Include glthread/thread.h and
27924         glthread/yield.h instead.
27925         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
27926         additional NULL argument to gl_thread_join.
27927
27928 2008-09-30  Bruno Haible  <bruno@clisp.org>
27929
27930         Fix the Win32 implementation of the 'thread' module.
27931         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
27932         pointer type.
27933         (gl_thread_self): Invoke gl_thread_self_func.
27934         (gl_thread_self_func): New declaration.
27935         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
27936         (do_init_self_key, init_self_key): New functions.
27937         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
27938         Remove some fields.
27939         (running_threads, running_lock): Remove variables.
27940         (get_current_thread_handle): New function.
27941         (gl_thread_self_func, wrapper_func, glthread_create_func,
27942         glthread_join_func, gl_thread_exit_func): Largely rewritten and
27943         simplified.
27944
27945 2008-09-30  Bruno Haible  <bruno@clisp.org>
27946
27947         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
27948         files.
27949
27950 2008-09-30  Jim Meyering  <meyering@redhat.com>
27951
27952         fts.m4: correct the test for statfs.f_type
27953         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
27954         when checking for statfs.f_type.
27955
27956 2008-09-15  Simon Josefsson  <simon@josefsson.org>
27957
27958         tests: avoid some compiler warnings
27959         * tests/test-memchr.c (main): Pass NULL indirectly.
27960         * tests/test-getdate.c (main): Remove unused variable 'ret'.
27961
27962 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
27963
27964         getdate.y: disallow countable dayshifts like "4 yesterday ago"
27965         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
27966         exactly specified dayshifts.
27967         (dayshift): New rule.
27968         (rel): Add dayshift.
27969         (relative_time_table) [tomorrow, yesterday, today, now]:
27970         Use tDAY_SHIFT in place of tDAY_UNIT.
27971         * tests/test-getdate.c: Add tests for now-disallowed countable
27972         dayshifts, e.g., "4 yesterday ago".
27973
27974 2008-09-29  Bruno Haible  <bruno@clisp.org>
27975
27976         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
27977         * tests/test-posix_spawn1.in.sh: Renamed from
27978         tests/test-posix_spawn.in.sh.
27979         * tests/test-posix_spawn2.c: New file.
27980         * tests/test-posix_spawn2.in.sh: New file.
27981         * modules/posix_spawnp-tests (Files): Update.
27982         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
27983
27984 2008-09-29  Bruno Haible  <bruno@clisp.org>
27985
27986         Propagate effects of putenv/setenv/unsetenv to child processes.
27987         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
27988         * lib/pipe.c (create_pipe): Likewise.
27989
27990 2008-09-29  Bruno Haible  <bruno@clisp.org>
27991
27992         Enable use of shell scripts as executables in mingw.
27993         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
27994         run the program as a shell script.
27995         * lib/pipe.c (create_pipe): Likewise.
27996         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
27997         resulting array.
27998
27999 2008-09-29  Eric Blake  <ebb9@byu.net>
28000
28001         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
28002
28003 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
28004
28005         * doc/posix-functions/accept.texi: Update mingw problems.
28006         * doc/posix-functions/bind.texi: Update mingw problems.
28007         * doc/posix-functions/close.texi: Update mingw problems.
28008         * doc/posix-functions/connect.texi: Update mingw problems.
28009         * doc/posix-functions/getpeername.texi: Update mingw problems.
28010         * doc/posix-functions/getsockname.texi: Update mingw problems.
28011         * doc/posix-functions/getsockopt.texi: Update mingw problems.
28012         * doc/posix-functions/ioctl.texi: Update mingw problems.
28013         * doc/posix-functions/listen.texi: Update mingw problems.
28014         * doc/posix-functions/recv.texi: Update mingw problems.
28015         * doc/posix-functions/recvfrom.texi: Update mingw problems.
28016         * doc/posix-functions/select.texi: Update mingw problems.
28017         * doc/posix-functions/send.texi: Update mingw problems.
28018         * doc/posix-functions/sendto.texi: Update mingw problems.
28019         * doc/posix-functions/setsockopt.texi: Update mingw problems.
28020         * doc/posix-functions/socket.texi: Update mingw problems.
28021
28022 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
28023             Bruno Haible  <bruno@clisp.org>
28024
28025         * lib/sys_select.in.h: Include sys/time.h.
28026         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
28027         * modules/sys_select: Depend on sys_time.
28028         * tests/test-sys_select.c: Test that sys/select.h defines struct
28029         timeval fully.
28030
28031 2008-09-29  Bruno Haible  <bruno@clisp.org>
28032
28033         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
28034         * lib/sys_select.in.h: Likewise.
28035
28036 2008-09-29  Bruno Haible  <bruno@clisp.org>
28037
28038         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
28039
28040 2008-09-29  Bruno Haible  <bruno@clisp.org>
28041
28042         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
28043         Set LIBSOCKET instead of augmenting LIBS.
28044         * modules/sockets (Link): New section.
28045         * modules/sockets-tests (test_sockets_LDADD): New variable.
28046         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
28047         * modules/poll-tests (test_poll_LDADD): New variable.
28048         * NEWS: Document the change.
28049
28050 2008-09-29  Bruno Haible  <bruno@clisp.org>
28051
28052         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
28053         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
28054         ARPA_INET_H directly.
28055         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
28056
28057 2008-09-28  Bruno Haible  <bruno@clisp.org>
28058
28059         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
28060         from gl_HEADER_SYS_SOCKET.
28061         (gl_HEADER_SYS_SOCKET): Invoke it.
28062         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
28063
28064 2008-09-28  Bruno Haible  <bruno@clisp.org>
28065
28066         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
28067         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
28068         Needed on OSF/1 4.0.
28069
28070 2008-09-28  Bruno Haible  <bruno@clisp.org>
28071
28072         Override open more carefully.
28073         * lib/open.c (orig_open): New function.
28074         (rpl_open): Use orig_open instead of open.
28075         * lib/fcntl.in.h: Add special invocation convention.
28076         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
28077         (gl_FUNC_OPEN): Invoke it.
28078
28079         Override freopen more carefully.
28080         * lib/freopen.c (orig_freopen): New function.
28081         (rpl_freopen): Use orig_freopen instead of freopen.
28082         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
28083         (gl_FUNC_FREOPEN): Invoke it.
28084
28085         Override fopen more carefully.
28086         * lib/fopen.c (orig_fopen): New function.
28087         (rpl_fopen): Use orig_fopen instead of fopen.
28088         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
28089         (gl_FUNC_FOPEN): Invoke it.
28090         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
28091
28092 2008-09-28  Bruno Haible  <bruno@clisp.org>
28093
28094         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
28095         SIGPIPE.
28096
28097 2008-09-28  Bruno Haible  <bruno@clisp.org>
28098
28099         * tests/test-sigaction.c (handler, main): Disable the check whether
28100         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
28101         glibc systems with LinuxThreads.
28102
28103 2008-09-28  Bruno Haible  <bruno@clisp.org>
28104
28105         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
28106
28107         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
28108         with AIX xlc.
28109         * lib/fcntl.in.h (open): Likewise.
28110         Reported by Rainer Tammer <tammer@tammer.net>.
28111
28112 2008-09-28  Bruno Haible  <bruno@clisp.org>
28113
28114         * modules/posix_spawnp-tests: New file.
28115         * tests/test-posix_spawn.c: New file.
28116         * tests/test-posix_spawn.in.sh: New file.
28117
28118         New module 'posix_spawnp'.
28119         * modules/posix_spawnp: New file.
28120         * lib/spawnp.c: New file, from GNU libc with modifications.
28121         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
28122
28123         New module 'posix_spawn'.
28124         * modules/posix_spawn: New file.
28125         * lib/spawn.c: New file, from GNU libc with modifications.
28126         * doc/posix-functions/posix_spawn.texi: Mention the new module.
28127
28128         New module 'posix_spawnattr_destroy'.
28129         * modules/posix_spawnattr_destroy: New file.
28130         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
28131         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
28132         module.
28133
28134         New module 'posix_spawnattr_setsigmask'.
28135         * modules/posix_spawnattr_setsigmask: New file.
28136         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
28137         modifications.
28138         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
28139         new module.
28140
28141         New module 'posix_spawnattr_getsigmask'.
28142         * modules/posix_spawnattr_getsigmask: New file.
28143         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
28144         modifications.
28145         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
28146         new module.
28147
28148         New module 'posix_spawnattr_setsigdefault'.
28149         * modules/posix_spawnattr_setsigdefault: New file.
28150         * lib/spawnattr_setdefault.c: New file, from GNU libc with
28151         modifications.
28152         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
28153         new module.
28154
28155         New module 'posix_spawnattr_getsigdefault'.
28156         * modules/posix_spawnattr_getsigdefault: New file.
28157         * lib/spawnattr_getdefault.c: New file, from GNU libc with
28158         modifications.
28159         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
28160         new module.
28161
28162         New module 'posix_spawnattr_setschedpolicy'.
28163         * modules/posix_spawnattr_setschedpolicy: New file.
28164         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
28165         modifications.
28166         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
28167         new module.
28168
28169         New module 'posix_spawnattr_getschedpolicy'.
28170         * modules/posix_spawnattr_getschedpolicy: New file.
28171         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
28172         modifications.
28173         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
28174         new module.
28175
28176         New module 'posix_spawnattr_setschedparam'.
28177         * modules/posix_spawnattr_setschedparam: New file.
28178         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
28179         modifications.
28180         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
28181         new module.
28182
28183         New module 'posix_spawnattr_getschedparam'.
28184         * modules/posix_spawnattr_getschedparam: New file.
28185         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
28186         modifications.
28187         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
28188         new module.
28189
28190         New module 'posix_spawnattr_setpgroup'.
28191         * modules/posix_spawnattr_setpgroup: New file.
28192         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
28193         modifications.
28194         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
28195         module.
28196
28197         New module 'posix_spawnattr_getpgroup'.
28198         * modules/posix_spawnattr_getpgroup: New file.
28199         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
28200         modifications.
28201         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
28202         module.
28203
28204         New module 'posix_spawnattr_setflags'.
28205         * modules/posix_spawnattr_setflags: New file.
28206         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
28207         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
28208         module.
28209
28210         New module 'posix_spawnattr_getflags'.
28211         * modules/posix_spawnattr_getflags: New file.
28212         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
28213         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
28214         module.
28215
28216         New module 'posix_spawnattr_init'.
28217         * modules/posix_spawnattr_init: New file.
28218         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
28219         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
28220         module.
28221
28222         New module 'posix_spawn_file_actions_destroy'.
28223         * modules/posix_spawn_file_actions_destroy: New file.
28224         * lib/spawn_faction_destroy.c: New file, from GNU libc with
28225         modifications.
28226         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
28227         the new module.
28228
28229         New module 'posix_spawn_file_actions_addopen'.
28230         * modules/posix_spawn_file_actions_addopen: New file.
28231         * lib/spawn_faction_addopen.c: New file, from GNU libc with
28232         modifications.
28233         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
28234         the new module.
28235
28236         New module 'posix_spawn_file_actions_adddup2'.
28237         * modules/posix_spawn_file_actions_adddup2: New file.
28238         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
28239         modifications.
28240         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
28241         the new module.
28242
28243         New module 'posix_spawn_file_actions_addclose'.
28244         * modules/posix_spawn_file_actions_addclose: New file.
28245         * lib/spawn_faction_addclose.c: New file, from GNU libc with
28246         modifications.
28247         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
28248         the new module.
28249
28250         New module 'posix_spawn_file_actions_init'.
28251         * modules/posix_spawn_file_actions_init: New file.
28252         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
28253         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
28254         new module.
28255
28256         New module 'posix_spawn-internal'.
28257         * modules/posix_spawn-internal: New file.
28258         * lib/spawn_int.h: New file, from GNU libc with modifications.
28259         * lib/spawni.c: New file, from GNU libc with modifications.
28260         * m4/posix_spawn.m4: New file.
28261
28262         New module 'spawn'.
28263         * modules/spawn: New file.
28264         * lib/spawn.in.h: New file, from GNU libc with modifications.
28265         * m4/spawn_h.m4: New file.
28266         * doc/posix-headers/spawn.texi: Mention the new module.
28267
28268 2008-09-28  Bruno Haible  <bruno@clisp.org>
28269
28270         * modules/sched-tests: New file.
28271         * tests/test-sched.c: New file.
28272
28273         New module 'sched'.
28274         * modules/sched: New file.
28275         * lib/sched.in.h: New file.
28276         * m4/sched_h.m4: New file.
28277         * doc/posix-headers/sched.texi: Mention the new module.
28278
28279 2008-09-27  Eric Blake  <ebb9@byu.net>
28280
28281         Fix previous patch, and tweak references to $0.
28282         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
28283         (func_version, func_gnulib_dir): Don't call this program
28284         gnulib-tool.
28285         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
28286         with using $0 in function.
28287         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
28288         (func_fatal_error): Reuse the name the user invoked us with.
28289
28290 2008-09-27  Bruno Haible  <bruno@clisp.org>
28291
28292         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
28293         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
28294         (gl_ICONV_H): Not here.
28295         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
28296         instead of assigning ICONV_H directly.
28297
28298         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
28299         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
28300         WCHAR_H directly.
28301
28302 2008-09-27  Bruno Haible  <bruno@clisp.org>
28303
28304         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
28305         * modules/arpa_inet (Depends-on): Add link-warning.
28306         (Makefile.am): Insert the definition of GL_LINK-WARNING.
28307         * modules/unistd (Makefile.am): Likewise.
28308
28309 2008-09-26  Bruno Haible  <bruno@clisp.org>
28310
28311         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
28312         variables.
28313         (func_version): Essentially copied from gnulib-tool.
28314         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
28315         func_readlink): Copied from gnulib-tool.
28316
28317 2008-09-26  Bruno Haible  <bruno@clisp.org>
28318
28319         * gnulib-tool (func_version): Change directory to $gnulib_dir before
28320         invoking git-version-gen.
28321
28322 2008-09-26  Bruno Haible  <bruno@clisp.org>
28323
28324         * posix-modules: Update to directory names changed on 2008-01-19.
28325         Remove commas in output before splitting into words. No more need to
28326         avoid 'ftruncate' since 2007-02-19.
28327
28328 2008-09-26  Bruno Haible  <bruno@clisp.org>
28329
28330         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
28331
28332 2008-09-26  Bruno Haible  <bruno@clisp.org>
28333
28334         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
28335         * modules/fwriteerror (Depends-on): Add errno.
28336
28337 2008-09-26  Bruno Haible  <bruno@clisp.org>
28338
28339         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
28340         * tests/test-vc-list-files-cvs.sh: Likewise.
28341
28342 2008-09-26  Bruno Haible  <bruno@clisp.org>
28343
28344         * doc/posix-headers/sys_resource.texi: Reorder items.
28345
28346 2008-09-26  Jim Meyering  <meyering@redhat.com>
28347
28348         fts: tweak inode comparison function
28349         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
28350         inode numbers, as documented.
28351
28352         fts: sort dirent entries on inode number before traversing
28353         This avoids a quadratic, seek-related performance penalty when
28354         operating on a directory containing many entries (measurable at 10k;
28355         3.5 hours at 2 million entries with a cold cache) on certain types
28356         of file systems, including ext3 and ext4, but not tmpfs.
28357         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
28358         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
28359         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
28360         (fs_handles_readdir_ordered_dirents_efficiently): New function.
28361         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
28362         (fts_build): Set the stat.st_ino member from D_INO.
28363         If it is likely to be useful, sort dirent entries on inode number.
28364
28365         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
28366         and the struct statfs.f_type member.
28367         * modules/fts (Depends-on): Add d-ino.
28368
28369 2008-09-26  Bruno Haible  <bruno@clisp.org>
28370
28371         * modules/sigpipe-die (Depends-on): Add sigpipe.
28372
28373         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
28374         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
28375         and GNULIB_STDIO_H_SIGPIPE are set.
28376         * lib/stdio-write.c: New file.
28377         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
28378         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
28379         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
28380         REPLACE_STDIO_WRITE_FUNCS.
28381         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
28382         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
28383         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
28384         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
28385         * modules/stdio (Files): Add lib/stdio-write.c.
28386         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
28387         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
28388         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
28389         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
28390         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
28391         REPLACE_FPRINTF_POSIX.
28392         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
28393         REPLACE_PRINTF_POSIX.
28394         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
28395         REPLACE_VFPRINTF_POSIX.
28396         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
28397         REPLACE_VPRINTF_POSIX.
28398         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
28399         SIGPIPE issue.
28400         * doc/posix-functions/fputc.texi: Likewise.
28401         * doc/posix-functions/fputs.texi: Likewise.
28402         * doc/posix-functions/fwrite.texi: Likewise.
28403         * doc/posix-functions/printf.texi: Likewise.
28404         * doc/posix-functions/putc.texi: Likewise.
28405         * doc/posix-functions/putchar.texi: Likewise.
28406         * doc/posix-functions/puts.texi: Likewise.
28407         * doc/posix-functions/vfprintf.texi: Likewise.
28408         * doc/posix-functions/vprintf.texi: Likewise.
28409
28410         * modules/safe-write (Depends-on): Add write.
28411
28412         * modules/sigpipe-tests: New file.
28413         * tests/test-sigpipe.c: New file.
28414         * tests/test-sigpipe.sh: New file.
28415
28416         * modules/write: New file.
28417         * lib/unistd.in.h: Include <sys/types.h>.
28418         (write): New declaration.
28419         * lib/write.c: New file.
28420         * m4/write.m4: New file.
28421         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
28422         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
28423         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
28424         GNULIB_WRITE, REPLACE_WRITE.
28425         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
28426         and the SIGPIPE issue.
28427
28428         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
28429         (raise): New declaration.
28430         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
28431         (ext_signal): New function.
28432         (rpl_raise): New function.
28433         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
28434         GNULIB_SIGNAL_H_SIGPIPE.
28435         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
28436         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
28437
28438         * modules/sigpipe: New file.
28439         * m4/sigpipe.m4: New file.
28440
28441 2008-09-25  Derek Price  <derek@ximbiot.com>
28442             Bruno Haible  <bruno@clisp.org>
28443
28444         * gnulib-tool (func_import): Report all license incompatibilities, not
28445         just the first one.
28446
28447 2008-09-25  Bruno Haible  <bruno@clisp.org>
28448
28449         * gnulib-tool (func_import): When computing the edits, consider not
28450         only the Makefile.ams that exist but also those that will be generated.
28451
28452 2008-09-25  Simon Josefsson  <simon@josefsson.org>
28453
28454         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
28455         fixes gnulib-tool --test warning about duplicate dependency.
28456
28457 2008-09-25  Bruno Haible  <bruno@clisp.org>
28458
28459         * gnulib-tool: Don't ask the user to perform edits in the generated
28460         Makefile.ams.
28461         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
28462         apply to the Makefile.am being generated.
28463         (func_emit_tests_Makefile_am): Execute edits that apply to the
28464         Makefile.am being generated.
28465         (func_import): Setup list of Makefile.am edits before emitting the
28466         Makefile.ams, not at the end.
28467         (func_create_testdir): Update.
28468         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
28469
28470 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
28471
28472         * gnulib-tool (func_import): Store the --tests-base option in the
28473         comment in gnulib-cache.m4.
28474
28475 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
28476
28477         * NEWS: Document increased portability that sys_select now provides.
28478
28479         * lib/sys_select.in.h: Install select wrapper.
28480         * lib/sys_socket.in.h: Use more descriptive name when there is no
28481         select wrapper.
28482         * lib/winsock-select.c: New.
28483         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
28484         Require gl_HEADER_SYS_SOCKET.
28485         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
28486         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
28487         * tests/test-sys_select.c: Add functional tests.
28488
28489 2008-09-24  Eric Blake  <ebb9@byu.net>
28490
28491         open, fopen: close fd leak in last patch
28492         * lib/open.c (rpl_open): Close fd before returning error.
28493         * lib/fopen.c (rpl_fopen): Close fd before returning error.
28494         * doc/posix-functions/open.texi (open): Document that Irix also
28495         has the bug.
28496         * doc/posix-functions/fopen.texi (fopen): Likewise.
28497         Reported by Paolo Bonzini.
28498
28499 2008-09-24  Bruno Haible  <bruno@clisp.org>
28500
28501         Ensure that a filename ending in a slash cannot be used to access a
28502         non-directory.
28503         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
28504         to check whether it's really a directory.
28505         * lib/fopen.c: Include fcntl.h, unistd.h.
28506         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
28507         and fdopen().
28508         * modules/fopen (Depends-on): Add unistd.
28509         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
28510         * tests/test-fopen.c (main): Likewise.
28511         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
28512         * doc/posix-functions/fopen.texi: Likewise.
28513         Reported by Eric Blake.
28514
28515 2008-09-23  Eric Blake  <ebb9@byu.net>
28516
28517         c-stack: avoid compiler optimizations when provoking overflow
28518         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
28519         recursion harder to optimize, to ensure a stack overflow occurs.
28520         * tests/test-c-stack.c (recurse): Likewise.
28521         Borrowed from libsigsegv.
28522
28523         c-stack: work around Irix sigaltstack bug
28524         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
28525         whether sigaltstack uses wrong end of stack_t (copied in part from
28526         libsigsegv).
28527         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
28528         Irix bug, without requiring an over-allocation.
28529         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
28530         bug.
28531
28532         fopen: document mingw bug on directories
28533         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
28534         not allowing a stream visiting a directory, even though reading
28535         from such a stream is not portable.
28536
28537 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
28538
28539         * lib/poll.c: Rewrite.
28540         * modules/poll: Depend on alloca.
28541
28542 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
28543
28544         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
28545         instead define prototypes for a full set of wrappers.  Ensure
28546         that Cygwin does not use the compatibility code, which is only
28547         for MinGW.
28548         * lib/winsock.c: New.
28549         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
28550         * modules/sys_socket: Add lib/winsock.c.
28551
28552         * modules/poll-tests: Add errno and perror.
28553         * tests/test-poll.c: Use ioctl, not ioctlsocket.
28554
28555 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
28556
28557         * tests/test-poll.c: Downgrade minimum needed Winsock version.
28558
28559 2008-09-23  Bruno Haible  <bruno@clisp.org>
28560
28561         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
28562         * doc/glibc-functions/*: Likewise.
28563
28564 2008-09-23  Simon Josefsson  <simon@josefsson.org>
28565
28566         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
28567         success.
28568
28569 2008-09-22  Eric Blake  <ebb9@byu.net>
28570             Bruno Haible  <bruno@clisp.org>
28571
28572         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
28573         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
28574         supply %A but mishandle pseudo-NaN.
28575         Reported by Simon Josefsson.
28576
28577 2008-09-21  Bruno Haible  <bruno@clisp.org>
28578
28579         * tests/test-lock.c (main): Tweak skip message.
28580         * tests/test-tls.c (main): Likewise.
28581
28582 2008-09-21  Bruno Haible  <bruno@clisp.org>
28583
28584         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
28585         whether 'struct sigaction' has sa_sigaction here...
28586         (gl_PREREQ_SIG_HANDLER_H): ... not here.
28587         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
28588
28589 2008-09-21  Bruno Haible  <bruno@clisp.org>
28590
28591         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
28592         section.
28593         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
28594         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
28595         the new section.
28596         (Support for obsolete systems lacking POSIX:2001): New section.
28597         (String handling <string.h>): Move strdup to the new section.
28598         Suggested by Simon Josefsson and Paolo Bonzini.
28599
28600 2008-09-21  Bruno Haible  <bruno@clisp.org>
28601
28602         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
28603         exponents in %e and %g results on 'long double'. Needed for mingw's
28604         improved *printf functions.
28605         * tests/test-vasprintf-posix.c (test_function): Likewise.
28606         * tests/test-snprintf-posix.h (test_function): Likewise.
28607         * tests/test-sprintf-posix.h (test_function): Likewise.
28608         Reported by Eric Blake.
28609
28610 2008-09-21  Bruno Haible  <bruno@clisp.org>
28611
28612         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
28613         * tests/test-sprintf-posix.h (test_function): Likewise.
28614
28615 2008-09-21  Bruno Haible  <bruno@clisp.org>
28616
28617         * modules/getpass (Depends-on): Add strdup-posix.
28618
28619         New module 'strdup-posix'.
28620         * modules/strdup-posix: New file.
28621         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
28622         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
28623         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
28624         REPLACE_STRDUP.
28625         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
28626         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
28627         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
28628         strdup-posix.
28629
28630         * modules/strdup (Depends-on): Remove malloc-posix.
28631
28632 2008-09-20  Bruno Haible  <bruno@clisp.org>
28633
28634         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
28635         Wildenhues.
28636
28637 2008-09-20  Bruno Haible  <bruno@clisp.org>
28638
28639         Ensure that wint_t gets defined on IRIX 5.3.
28640         * lib/wchar.in.h (wint_t): Define if not defined by the system.
28641         * lib/wctype.in.h (wint_t): Likewise.
28642         (__wctype_wint_t): Remove type.
28643         (isw*): Use wint_t instead of __wctype_wint_t.
28644         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
28645         * modules/wchar (Files): Add m4/wint_t.m4.
28646         (Makefile.am): Substitute HAVE_WINT_T.
28647         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
28648         * tests/test-wctype.c: Check that wint_t is defined.
28649         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
28650         * doc/posix-headers/wctype.texi: Likewise.
28651         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
28652
28653 2008-09-18  Bruno Haible  <bruno@clisp.org>
28654
28655         * gnulib-tool (func_exit): Update comment.
28656
28657 2008-09-18  Simon Josefsson  <simon@josefsson.org>
28658
28659         * modules/getaddrinfo (Depends-on): Remove strdup, this module
28660         assumes strdup exists and does not depend on strdup to return
28661         ENOMEM on out of memory conditions.
28662
28663 2008-09-18  Bruno Haible  <bruno@clisp.org>
28664
28665         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
28666         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
28667         digits for the exponent.
28668
28669 2008-09-18  Jim Meyering  <meyering@redhat.com>
28670             Bruno Haible  <bruno@clisp.org>
28671
28672         * lib/vasnprintf.c (decimal_point_char): Define also if
28673         NEED_PRINTF_INFINITE_LONG_DOUBLE.
28674
28675 2008-09-16  Bruno Haible  <bruno@clisp.org>
28676         and Eric Blake  <ebb9@byu.net>
28677
28678         vasnprintf: support Irix 5.3
28679         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
28680         that mishandle long double infinity.
28681         Reported by Tom G. Christensen.
28682
28683 2008-09-16  Bruno Haible  <bruno@clisp.org>
28684
28685         * doc/glibc-functions/scandir.texi: Mention the function is missing on
28686         Solaris 9.
28687         * doc/glibc-functions/alphasort.texi: Likewise.
28688         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
28689
28690 2008-09-16  Jim Meyering  <meyering@redhat.com>
28691
28692         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
28693         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
28694         a umask modification leak out of a subshell.  Otherwise, the
28695         opensolaris /bin/sh would be accepted and thus cause unwarranted
28696         failures in the coreutils test suite.
28697
28698 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
28699
28700         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
28701         to succeed.
28702
28703 2008-09-16  Jim Meyering  <meyering@redhat.com>
28704
28705         avoid spurious test failure when library is built without ACL support
28706         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
28707         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
28708         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
28709         * tests/test-copy-acl.sh: Likewise.
28710
28711 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28712
28713         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
28714         based on character occurrence counts.
28715
28716 2008-09-15  Eric Blake  <ebb9@byu.net>
28717
28718         tests: avoid some compiler warnings
28719         * tests/test-memchr.c (main): Pass NULL indirectly.
28720         * tests/test-closein.c (main): Avoid unused variable.
28721
28722 2008-09-15  Bruno Haible  <bruno@clisp.org>
28723
28724         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
28725         are missing on OpenBSD 4.0 individually.
28726         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
28727
28728 2008-09-15  Bruno Haible  <bruno@clisp.org>
28729
28730         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
28731         * doc/posix-functions/strerror.texi: Mention also Cygwin.
28732         * doc/posix-functions/perror.texi: Likewise.
28733         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
28734         is missing.
28735         Reported by Eric Blake.
28736
28737         * lib/errno.in.h: Use replacement values >= 2000.
28738         Reported by Eric Blake.
28739
28740 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28741
28742         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
28743         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
28744         limit.
28745         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
28746         compareseq was aborted.
28747
28748 2008-09-14  Bruno Haible  <bruno@clisp.org>
28749
28750         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
28751         yvec_edit_count.
28752         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
28753         (fstrcmp_bounded): Simplify result computation accordingly.
28754
28755 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28756
28757         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
28758         (fstrcmp): Define in terms of fstrcmp_bounded.
28759         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
28760         lower_bound argument.
28761         Return quickly if the result is certainly < lower_bound.
28762         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
28763
28764 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28765
28766         * lib/diffseq.h (EARLY_ABORT): New macro.
28767         (compareseq): Change return type to bool. Return true when EARLY_ABORT
28768         evaluates to true.
28769
28770 2008-09-14  Bruno Haible  <bruno@clisp.org>
28771
28772         * modules/perror-tests: New file.
28773         * tests/test-perror.sh: New file.
28774         * tests/test-perror.c: New file.
28775
28776         New module 'perror'.
28777         * lib/stdio.in.h (perror): New declaration.
28778         * lib/perror.c: New file.
28779         * m4/perror.m4: New file.
28780         * modules/perror: New file.
28781         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
28782         * doc/posix-functions/perror.texi: Mention the perror module.
28783         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
28784         REPLACE_PERROR.
28785         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
28786         REPLACE_PERROR.
28787
28788 2008-09-14  Bruno Haible  <bruno@clisp.org>
28789
28790         * modules/stdio (Makefile.am): Reorder to match the order in
28791         lib/stdio.in.h.
28792         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
28793
28794 2008-09-13  Bruno Haible  <bruno@clisp.org>
28795
28796         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
28797
28798 2008-09-13  Bruno Haible  <bruno@clisp.org>
28799
28800         Extend strerror to cover the added errno values.
28801         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
28802         (rpl_strerror): Provide error messages for the added errno values and
28803         for the WSA* values.
28804         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
28805         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
28806         strerror.
28807         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
28808         * modules/strerror (Depends-on): Add errno.
28809         * doc/posix-functions/strerror.texi: Document the change.
28810         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
28811         and EOVERFLOW.
28812
28813 2008-09-13  Bruno Haible  <bruno@clisp.org>
28814
28815         * modules/EOVERFLOW: Remove file.
28816         * m4/eoverflow.m4: Remove file.
28817         * modules/EOVERFLOW-tests: Remove file.
28818         * tests/test-EOVERFLOW.c: Remove file.
28819         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
28820         * modules/ftell (Depends-on): Likewise.
28821         * modules/getdelim (Depends-on): Likewise.
28822         * modules/getugroups (Depends-on): Likewise.
28823         * modules/poll (Depends-on): Likewise.
28824         * modules/snprintf (Depends-on): Likewise.
28825         * modules/sprintf-posix (Depends-on): Likewise.
28826         * modules/vasnprintf (Depends-on): Likewise.
28827         * modules/vasprintf (Depends-on): Likewise.
28828         * modules/vfprintf-posix (Depends-on): Likewise.
28829         * modules/vsnprintf (Depends-on): Likewise.
28830         * modules/vsprintf-posix (Depends-on): Likewise.
28831         * modules/xvasprintf (Depends-on): Likewise.
28832         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
28833         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
28834         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
28835         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
28836         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
28837         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
28838         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
28839         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
28840         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
28841         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
28842         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
28843         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
28844         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
28845         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
28846         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
28847         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
28848         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
28849         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
28850         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
28851         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
28852         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
28853         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
28854         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
28855         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
28856         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
28857         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
28858         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
28859         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
28860         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
28861         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
28862         * MODULES.html.sh: Remove EOVERFLOW.
28863         * NEWS: Mention the change.
28864
28865 2008-09-13  Bruno Haible  <bruno@clisp.org>
28866
28867         * modules/errno-tests: New file.
28868         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
28869
28870         * lib/errno.in.h: New file.
28871         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
28872         * modules/errno: New file.
28873         * doc/posix-headers/errno.texi: Update documentation.
28874         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
28875
28876 2008-09-13  Bruno Haible  <bruno@clisp.org>
28877
28878         * tests/test-poll.c: Use #if for native Windows, rather than testing
28879         __MSVCRT__.
28880
28881 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
28882             Bruno Haible  <bruno@clisp.org>
28883
28884         * lib/glob.c: Don't include <pwd.h> on native Windows.
28885         (WINDOWS32): New macro.
28886         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
28887
28888 2008-09-13  Bruno Haible  <bruno@clisp.org>
28889
28890         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
28891         (ETIMEDOUT): Remove macro.
28892         (glthread_cond_timedwait_multithreaded): New declaration.
28893         (glthread_cond_timedwait): Use it.
28894         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
28895         (glthread_cond_timedwait_multithreaded): New function.
28896
28897 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
28898
28899         * modules/poll-tests: Do not check for io.h.
28900         * tests/test-poll.c: Check for __MSVCRT__ instead.
28901
28902 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
28903
28904         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
28905         * modules/poll-tests: Add inet_pton, stdbool, sockets.
28906         * tests/test-poll.c: Use them.  Use _pipe on Windows.
28907
28908 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
28909
28910         * modules/poll-tests: New.
28911         * tests/test-poll.c: New.
28912
28913 2008-09-12  Eric Blake  <ebb9@byu.net>
28914
28915         frexp: test for NetBSD failure on -0.0
28916         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
28917         not all, bugs from NetBSD 3.0 have been fixed.
28918         * doc/posix-functions/frexp.texi (frexp): Document bug.
28919         Reported by Thomas Klausner.
28920
28921         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
28922         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
28923         literal -0.0.
28924         Reported by Jonathan C. Patschke <jp@centtech.com>.
28925
28926 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
28927
28928         * lib/glthread/cond.h: Use dummy implementation also if
28929         USE_WIN32_THREADS.
28930
28931 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
28932
28933         * modules/fnmatch-posix (License): Change to LGPLv2+.
28934         * modules/fnmatch-gnu (License): Likewise.
28935
28936 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
28937
28938         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
28939
28940 2008-09-11  Jim Meyering  <meyering@redhat.com>
28941
28942         * users.txt: Add gtk-vnc.
28943
28944 2008-09-08  Simon Josefsson  <simon@josefsson.org>
28945
28946         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
28947         rotate amounts.
28948
28949         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
28950         required for 16-bit and 8-bit rotates.
28951         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
28952         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
28953         UINT8_MAX instead of hard-coded constants.
28954         Suggested by Paul Eggert.
28955
28956 2008-09-07  Bruno Haible  <bruno@clisp.org>
28957
28958         * tests/test-striconveh.c (main): Check behaviour when converting from
28959         UTF-7.
28960
28961         Make striconveh work better with stateful encodings.
28962         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
28963         that iconv does not increment the inptr when returning -1/EINVAL.
28964
28965 2008-09-07  Bruno Haible  <bruno@clisp.org>
28966
28967         * build-aux/config.rpath: Update according to libtool-2.2.6.
28968         * build-aux/config.libpath: Likewise.
28969
28970 2008-09-06  Bruno Haible  <bruno@clisp.org>
28971
28972         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
28973         * lib/freadptr.c (freadptr): Likewise.
28974         * lib/freadseek.c (freadptrinc): Likewise.
28975         Reported by Simon Josefsson.
28976
28977 2008-09-06  Bruno Haible  <bruno@clisp.org>
28978
28979         * modules/freadptr (License): Change to LGPLv2+.
28980         * modules/freadseek (License): Likewise.
28981         Suggested by Eric Blake.
28982
28983         * modules/memchr2 (License): Change to LGPLv2+.
28984         Approved by Eric Blake.
28985
28986 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28987             Bruno Haible  <bruno@clisp.org>
28988
28989         Make gnulib-tool work with native 'sed' on AIX.
28990         * gnulib-tool (sed_noop): New variable.
28991         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
28992         func_add_or_update, func_create_testdir): Use it to initialize sed
28993         script variables.
28994         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
28995
28996 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
28997             Bruno Haible  <bruno@clisp.org>
28998
28999         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
29000         also works after #include directives.
29001
29002 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
29003
29004         getdate.y: reject an out-of-range timezone value
29005         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
29006         the range [-24...+24].  When specified with only one or two digits,
29007         * tests/test-getdate.c: Tests for the fix.
29008         * doc/getdate.texi: Document this change.
29009
29010 2008-09-03  Bruno Haible  <bruno@clisp.org>
29011
29012         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
29013
29014 2008-09-02  Simon Josefsson  <simon@josefsson.org>
29015
29016         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
29017         <bruce.korb@gmail.com> with ideas from Ben Pfaff
29018         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
29019         Blake <ebb9@byu.net>.
29020
29021         * tests/test-bitrotate.c: Add more test vectors.
29022
29023 2008-09-02  Eric Blake  <ebb9@byu.net>
29024
29025         vasnprintf-posix: handle large precision via %.*d
29026         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
29027         when handling it ourselves.
29028         * tests/test-vasnprintf-posix.c (test_function): Add test.
29029         * tests/test-snprintf-posix.h (test_function): Likewise.
29030         * tests/test-sprintf-posix.h (test_function): Likewise.
29031         * tests/test-vasprintf-posix.c (test_function): Likewise.
29032         Reported by Alain Guibert.
29033
29034 2008-09-01  Eric Blake  <ebb9@byu.net>
29035
29036         c-stack: make configure-time check more robust
29037         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
29038         successful sigaction call.
29039         Reported by Tom G. Christensen.
29040
29041 2008-09-01  Bruno Haible  <bruno@clisp.org>
29042
29043         New module 'findprog-lgpl'.
29044         * modules/findprog-lgpl: New file.
29045         * lib/findprog-lgpl.c: New file.
29046         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
29047         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
29048         to decide whether to use strdup or xstrdup, concatenated_filename or
29049         xconcatenated_filename.
29050
29051 2008-09-01  Bruno Haible  <bruno@clisp.org>
29052
29053         Split module 'concat-filename' into 'concat-filename' (LGPL) and
29054         'xconcat-filename' (GPL).
29055         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
29056         (License): Change to LGPLv2+.
29057         * modules/xconcat-filename: New file.
29058         * lib/concat-filename.h (concatenated_filename): Change specification.
29059         (xconcatenated_filename): New declaration.
29060         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
29061         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
29062         memory situations.
29063         * lib/xconcat-filename.c: New file.
29064         * NEWS: Mention the change.
29065         * lib/findprog.c: Include concat-filename.h, not filename.h.
29066         (find_in_path): Use xconcatenated_filename instead of
29067         concatenated_filename.
29068         * lib/javacomp.c: Include concat-filename.h, not filename.h.
29069         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
29070         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
29071         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
29072         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
29073         instead of concatenated_filename.
29074         * lib/javaexec.c: Include concat-filename.h, not filename.h.
29075         (execute_java_class): Use xconcatenated_filename instead of
29076         concatenated_filename.
29077         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
29078         * modules/javacomp (Depends-on): Likewise.
29079         * modules/javaexec (Depends-on): Likewise.
29080
29081 2008-09-01  Bruno Haible  <bruno@clisp.org>
29082
29083         Split module 'filename' into 'filename' and 'concat-filename'.
29084         * modules/filename: Keep only lib/filename.h.
29085         (License): Change to LGPLv2+.
29086         * modules/concat-filename: New file, extracted from modules/filename.
29087         * lib/filename.h (concatenated_filename): Remove declaration.
29088         * lib/concat-filename.h: New file, extracted from lib/filename.h.
29089         * lib/concat-filename.c: Include concat-filename.h.
29090         * NEWS: Mention the change.
29091
29092 2008-09-01  Simon Josefsson  <simon@josefsson.org>
29093
29094         * lib/bitrotate.h (rotl8, rotr8): Add.
29095
29096         * modules/bitrotate (configure.ac): Need
29097         AC_REQUIRE([AC_C_INLINE]).
29098         (Description): Mention stdint.h.  Reported by Bruno Haible
29099         <bruno@clisp.org>.
29100
29101         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
29102         Paolo Bonzini <bonzini@gnu.org>.
29103
29104 2008-08-31  Bruno Haible  <bruno@clisp.org>
29105
29106         Assume Solaris specific bi-arch conventions on Solaris systems.
29107         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
29108         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
29109         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
29110         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
29111         like acl_libdirstem.
29112         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
29113         acl_libdirstem.
29114         * NEWS: Mention the change.
29115         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
29116
29117 2008-08-31  Jim Meyering  <meyering@redhat.com>
29118
29119         * lib/strftime.h: Add comments describing the two added arguments.
29120
29121         remove duplicate #include directives
29122         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
29123         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
29124
29125 2008-08-31  Bruno Haible  <bruno@clisp.org>
29126
29127         New module 'sigpipe-die'.
29128         * modules/sigpipe-die: New file.
29129         * lib/sigpipe-die.h: New file.
29130         * lib/sigpipe-die.c: New file.
29131         * MODULES.html.sh (Signal handling): Add sigpipe-die.
29132
29133 2008-08-31  Bruno Haible  <bruno@clisp.org>
29134
29135         Don't override previously installed signal handlers.
29136         * lib/fatal-signal.c (saved_sigactions): New variable.
29137         (uninstall_handlers): Reset the signal to the saved handler, not
29138         to SIG_DFL (except when ignored).
29139         (install_handlers): Save the previous handlers.
29140
29141 2008-08-30  Bruno Haible  <bruno@clisp.org>
29142
29143         * gnulib-tool (func_reset_sigpipe): New function.
29144         (func_get_automake_snippet, func_modules_transitive_closure,
29145         func_import): Invoke it before a join command that reads from stdin,
29146         to avoid "echo: write error: Broken pipe" error messages on stderr.
29147         Reported by Sam Steingold <sds@gnu.org>.
29148
29149 2008-08-30  Bruno Haible  <bruno@clisp.org>
29150
29151         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
29152         Code copied from m4/open.m4.
29153         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
29154         access and the filename ends in a slash. Code copied from lib/open.c.
29155         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
29156         * tests/test-fopen.c (main): Check against bug with trailing slash.
29157
29158 2008-08-29  Bruno Haible  <bruno@clisp.org>
29159
29160         Avoid some "gcc -pedantic" warnings.
29161         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
29162         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
29163         * lib/dirent.in.h: Likewise.
29164         * lib/fcntl.in.h: Likewise.
29165         * lib/float.in.h: Likewise.
29166         * lib/iconv.in.h: Likewise.
29167         * lib/inttypes.in.h: Likewise.
29168         * lib/locale.in.h: Likewise.
29169         * lib/math.in.h: Likewise.
29170         * lib/netinet_in.in.h: Likewise.
29171         * lib/search.in.h: Likewise.
29172         * lib/signal.in.h: Likewise.
29173         * lib/stdarg.in.h: Likewise.
29174         * lib/stdint.in.h: Likewise.
29175         * lib/stdio.in.h: Likewise.
29176         * lib/stdlib.in.h: Likewise.
29177         * lib/string.in.h: Likewise.
29178         * lib/strings.in.h: Likewise.
29179         * lib/sys_select.in.h: Likewise.
29180         * lib/sys_socket.in.h: Likewise.
29181         * lib/sys_stat.in.h: Likewise.
29182         * lib/sys_time.in.h: Likewise.
29183         * lib/sysexits.in.h: Likewise.
29184         * lib/time.in.h: Likewise.
29185         * lib/unistd.in.h: Likewise.
29186         * lib/wchar.in.h: Likewise.
29187         * lib/wctype.in.h: Likewise.
29188         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
29189         * modules/fchdir (Makefile.am): Likewise.
29190         * modules/fcntl (Makefile.am): Likewise.
29191         * modules/float (Makefile.am): Likewise.
29192         * modules/iconv_open (Makefile.am): Likewise.
29193         * modules/inttypes (Makefile.am): Likewise.
29194         * modules/locale (Makefile.am): Likewise.
29195         * modules/math (Makefile.am): Likewise.
29196         * modules/netinet_in (Makefile.am): Likewise.
29197         * modules/search (Makefile.am): Likewise.
29198         * modules/signal (Makefile.am): Likewise.
29199         * modules/stdarg (Makefile.am): Likewise.
29200         * modules/stdint (Makefile.am): Likewise.
29201         * modules/stdio (Makefile.am): Likewise.
29202         * modules/stdlib (Makefile.am): Likewise.
29203         * modules/string (Makefile.am): Likewise.
29204         * modules/strings (Makefile.am): Likewise.
29205         * modules/sys_select (Makefile.am): Likewise.
29206         * modules/sys_socket (Makefile.am): Likewise.
29207         * modules/sys_stat (Makefile.am): Likewise.
29208         * modules/sys_time (Makefile.am): Likewise.
29209         * modules/sysexits (Makefile.am): Likewise.
29210         * modules/time (Makefile.am): Likewise.
29211         * modules/unistd (Makefile.am): Likewise.
29212         * modules/wchar (Makefile.am): Likewise.
29213         * modules/wctype (Makefile.am): Likewise.
29214         Reported by Reuben Thomas <rrt@sc3d.org>.
29215
29216 2008-08-29  Bruno Haible  <bruno@clisp.org>
29217
29218         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
29219         any more.
29220
29221 2008-08-29  Simon Josefsson  <simon@josefsson.org>
29222
29223         * MODULES.html.sh (Misc): Add bitrotate.
29224
29225         * modules/bitrotate: New file.
29226
29227         * lib/bitrotate.h: New file.
29228
29229         * modules/bitrotate-tests: New file.
29230
29231         * tests/test-bitrotate.c: New file.
29232
29233         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
29234         on the bitrotate module.
29235
29236         * lib/arctwo.c: Use new bitrotate module.
29237
29238 2008-08-29  Jim Meyering  <meyering@redhat.com>
29239
29240         bootstrap: merge changes from coreutils
29241         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
29242         of copied files.  Remove a kludge, now that this is fixed.
29243         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
29244         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
29245         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
29246
29247 2008-08-29  Bruno Haible  <bruno@clisp.org>
29248
29249         * MODULES.html.sh: Remove --cvs-urls option.
29250
29251 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
29252
29253         maint.mk: adjust to file name change
29254         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
29255
29256 2008-08-28  Jim Meyering  <meyering@redhat.com>
29257
29258         * modules/getndelim2 (License): Relicense to LGPLv2+.
29259         Approved by Richard Stallman for the version of 1995, and by
29260         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
29261
29262 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
29263
29264         * lib/getdelim.c (flockfile, funlockfile): Make all of them
29265         dummy if one is not available.  Do not touch them if
29266         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
29267         (getc_maybe_unlocked): New.
29268         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
29269
29270 2008-08-26  Eric Blake  <ebb9@byu.net>
29271
29272         doc/INSTALL: resync from autoconf
29273         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
29274         (INSTALL_PRELUDE): Delete; this is done more efficiently by
29275         moving...
29276         * install.texi [!autoconf]: ...here.  Resync from autoconf.
29277         * INSTALL: Regenerate.
29278         * INSTALL.ISO: New file.
29279         * INSTALL.UTF-8: Likewise.
29280
29281 2008-08-26  Jim Meyering  <meyering@redhat.com>
29282
29283         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
29284         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
29285         these definitions conditional, so that they may be overridden, too.
29286
29287 2008-08-26  Bruno Haible  <bruno@clisp.org>
29288
29289         Generate INSTALL file variants with prettier quotes.
29290         * doc/Makefile (INSTALL_PRELUDE): New macro.
29291         (INSTALL): Use it.
29292         (INSTALL.ISO, INSTALL.UTF-8): New rules.
29293
29294 2008-08-26  Bruno Haible  <bruno@clisp.org>
29295
29296         Run makeinfo in an English locale.
29297         * doc/Makefile (MAKEINFO): New variable.
29298
29299 2008-08-26  Bruno Haible  <bruno@clisp.org>
29300
29301         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
29302         Suggested by Eric Blake.
29303
29304 2008-08-25  Bruno Haible  <bruno@clisp.org>
29305
29306         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
29307
29308 2008-08-25  Eric Blake  <ebb9@byu.net>
29309
29310         c-stack: test that stack overflow can be caught
29311         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
29312         that platform allows handling stack overflow; at least OS/2 EMX
29313         has sigaltstack, but crashes before transferring control to
29314         handler on stack overflow.
29315         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
29316         check for HAVE_STACK_OVERFLOW_HANDLING.
29317         Reported by Elbert Pol.
29318
29319 2008-08-25  Bruno Haible  <bruno@clisp.org>
29320
29321         * doc/posix-functions/strftime.texi: Fix description of strftime
29322         module.
29323
29324 2008-08-24  Bruno Haible  <bruno@clisp.org>
29325
29326         * tests/uniwidth/test-uc_width2.c: New file.
29327         * tests/uniwidth/test-uc_width2.sh: New file.
29328         * modules/uniwidth/width-tests (Files): Add the new files.
29329         (TESTS): Add uniwidth/test-uc_width2.sh.
29330         (TESTS_ENVIRONMENT): New variable.
29331         (check_PROGRAMS): Add test-uc_width2.
29332         (test_uc_width2_SOURCES): New variable.
29333
29334         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
29335         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
29336         not 0x00AB.
29337         Reported by Alexander V. Lukyanov <lav@netis.ru>.
29338
29339 2008-08-22  Eric Blake  <ebb9@byu.net>
29340
29341         test-lock, test-tls: mention why a test is skipped
29342         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
29343         skipped.
29344         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
29345
29346         count-one-bits: relax license
29347         * modules/count-one-bits (License): Relicense to LGPLv2+.
29348         Suggested by Ludovic Courtès, approved by Ben Pfaff.
29349
29350 2008-08-22  Andreas Schwab  <schwab@suse.de>
29351
29352         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
29353         Remove spurious space in assignment.
29354
29355 2008-08-21  Simon Josefsson  <simon@josefsson.org>
29356
29357         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
29358         Paul Eggert <eggert@CS.UCLA.EDU>.
29359
29360 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
29361
29362         * modules/gettext: Add m4/threadlib.m4.
29363
29364 2008-08-19  Eric Blake  <ebb9@byu.net>
29365
29366         test-c-stack: fix compilation failure on FreeBSD 5.0
29367         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
29368         headers before <sys/resource.h>.
29369         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
29370         the bug.
29371         Reported by Nelson H. F. Beebe.
29372
29373         strverscmp: migrate from "strverscmp.h" to <string.h>
29374         * modules/string (Makefile.am): Add new hooks.
29375         * modules/strverscmp (Files): Remove strverscmp.h.
29376         (Depends-on): Add string.
29377         (configure.ac): Add indicator.
29378         (Include): Mention new header.
29379         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
29380         defaults.
29381         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
29382         results.
29383         * lib/strverscmp.h: Delete.
29384         * lib/string.in.h (strverscmp): Provide declaration, when needed.
29385         * tests/test-strverscmp.c (includes): Adjust client.
29386         * lib/check-version.c (includes): Likewise.
29387         * NEWS: Document the change.
29388
29389         strverscmp: add unit test
29390         * modules/strverscmp-tests: New file.
29391         * tests/test-strverscmp.c: Likewise.
29392
29393 2008-08-19  Simon Josefsson  <simon@josefsson.org>
29394
29395         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
29396         regarding Windows crypto stuff, from Mono.
29397
29398 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
29399
29400         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
29401         if present, for intel RND.  Return error on failures.
29402
29403 2008-08-18  Ben Pfaff  <blp@gnu.org>
29404
29405         gitlog-to-changelog: give better diagnostic for failed pipe-open
29406         * build-aux/gitlog-to-changelog: Improve error message: suggest
29407         that the version of Git may be too old.
29408
29409 2008-08-18  Simon Josefsson  <simon@josefsson.org>
29410
29411         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
29412         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
29413
29414 2008-08-18  Bruno Haible  <bruno@clisp.org>
29415
29416         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
29417         pthread_in_use().
29418
29419 2008-08-18  Bruno Haible  <bruno@clisp.org>
29420
29421         * lib/glthread/threadlib.c: Include <pthread.h>.
29422
29423 2008-08-18  Bruno Haible  <bruno@clisp.org>
29424
29425         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
29426         glthread_recursive_lock_* macros.
29427         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
29428         Fix syntax error.
29429
29430 2008-08-18  Bruno Haible  <bruno@clisp.org>
29431
29432         * lib/glthread/thread.c: Avoid forcing a context switch right after
29433         thread creation.
29434
29435 2008-08-17  Bruno Haible  <bruno@clisp.org>
29436
29437         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
29438         * lib/glthread/thread.h: Provide Win32 specific implementation.
29439         * modules/thread (Files): Add lib/glthread/thread.c.
29440         (Depends-on): Add lock.
29441         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
29442
29443 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
29444
29445         New module 'yield'.
29446         * modules/yield: New file.
29447         * lib/glthread/yield.h: New file.
29448         * m4/yield.m4: New file.
29449         * MODULES.html.sh (Multithreading): Add yield.
29450
29451 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
29452
29453         New module 'thread'.
29454         * modules/thread: New file.
29455         * lib/glthread/thread.h: New file.
29456         * m4/thread.m4: New file.
29457         * MODULES.html.sh (Multithreading): Add thread.
29458
29459 2008-08-17  Bruno Haible  <bruno@clisp.org>
29460
29461         * lib/glthread/lock.h: Include <stdlib.h> always.
29462         * lib/glthread/tls.h: Likewise.
29463         * lib/glthread/cond.h: Likewise.
29464
29465 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
29466
29467         New module 'cond'.
29468         * modules/cond: New file.
29469         * lib/glthread/cond.h: New file.
29470         * lib/glthread/cond.c: New file.
29471         * m4/cond.m4: New file.
29472         * MODULES.html.sh (Multithreading): Add cond.
29473
29474 2008-08-16  Eric Blake  <ebb9@byu.net>
29475
29476         c-stack: fix regression on Irix 5.3 from 2008-06-21
29477         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
29478         sa_sigaction...
29479         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
29480         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
29481         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
29482         * modules/signal (Makefile.am): Use the value.
29483         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
29484         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
29485         * doc/posix-headers/signal.texi (signal.h): Document this
29486         portability issue.
29487         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
29488         Reported by Tom G. Christensen.
29489
29490 2008-08-17  Bruno Haible  <bruno@clisp.org>
29491
29492         New module 'threadlib'.
29493         * modules/threadlib: New file.
29494         * lib/glthread/threadlib.c: New file, extracted from
29495         lib/glthread/lock.c.
29496         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
29497         functions.
29498         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
29499         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
29500         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
29501         macros.
29502         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
29503         (gl_DISABLE_THREADS): Remove macro.
29504         * modules/lock (Files): Remove build-aux/config.rpath.
29505         (Depends-on): Remove havelib. Add threadlib.
29506         (configure.ac-early): Remove section.
29507         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
29508         * modules/tls (Depends-on): Remove lock. Add threadlib.
29509         (Link): New section, copied from threadlib.
29510         * MODULES.html.sh (Multithreading): Add threadlib.
29511
29512 2008-08-14  Bruno Haible  <bruno@clisp.org>
29513
29514         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
29515         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
29516         glthread_rwlock_unlock, glthread_rwlock_destroy,
29517         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
29518         glthread_recursive_lock_destroy): Define as macros always.
29519         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
29520         glthread_lock_lock.
29521         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
29522         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
29523         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
29524         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
29525         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
29526         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
29527         (glthread_recursive_lock_lock_func): Renamed from
29528         glthread_recursive_lock_lock.
29529         (glthread_recursive_lock_unlock_func): Renamed from
29530         glthread_recursive_lock_unlock.
29531         (glthread_recursive_lock_destroy_func): Renamed from
29532         glthread_recursive_lock_destroy.
29533
29534 2008-08-14  Bruno Haible  <bruno@clisp.org>
29535
29536         * lib/glthread/lock.h: Renamed from lib/lock.h.
29537         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
29538         * lib/glthread/tls.h: Renamed from lib/tls.h.
29539         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
29540         * lib/fstrcmp.c: Update includes.
29541         * lib/strsignal.c: Update includes.
29542         * modules/lock (Files, Makefile.am): Update.
29543         (Include): Change to "glthread/lock.h".
29544         * modules/tls (Files, Makefile.am): Update.
29545         (Include): Change to "glthread/tls.h".
29546         * tests/test-lock.c: Update includes.
29547         * tests/test-tls.c: Update includes.
29548         * NEWS: Mention the renamed header files.
29549
29550 2008-08-11  Jim Meyering  <meyering@redhat.com>
29551
29552         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
29553
29554 2008-08-11  Eric Blake  <ebb9@byu.net>
29555
29556         test-c-stack: avoid C99-ism
29557         * tests/test-c-stack.c (main): Fix whitespace, move declaration
29558         before statement.
29559         Reported by Alain Guibert.
29560
29561 2008-08-10  Jim Meyering  <meyering@redhat.com>
29562
29563         ensure that return value of uinttostr et al are not ignored
29564         * lib/inttostr.h (__GNUC_PREREQ): Define.
29565         (__attribute_warn_unused_result__): Define.
29566         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
29567
29568 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
29569
29570         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
29571         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
29572
29573 2008-08-07  Jim Meyering  <meyering@redhat.com>
29574
29575         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
29576
29577         * modules/mkstemp (License): Relicense under LGPLv2+.
29578         * modules/tempname (License): Likewise.
29579
29580 2008-08-06  Bruno Haible  <bruno@clisp.org>
29581
29582         * lib/poll.c (poll): Further micro-optimization.
29583
29584 2008-08-06  Jim Meyering  <meyering@redhat.com>
29585
29586         inet_pton.c: use locale-independent tolower
29587         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
29588         (inet_pton6): Use c_tolower rather than tolower.
29589         * modules/inet_pton (Depends-on): Add c-ctype.
29590
29591 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
29592
29593         * lib/poll.c (poll): Avoid division when timeout is 0, cache
29594         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
29595
29596 2008-08-06  Jim Meyering  <meyering@redhat.com>
29597
29598         * modules/inet_pton (License): Relicense under LGPLv2+.
29599
29600 2008-08-03  Bruno Haible  <bruno@clisp.org>
29601
29602         Additional non-aborting API for lock and tls.
29603         * lib/lock.h: Include <errno.h>.
29604         (glthread_lock_init): New macro/function.
29605         (gl_lock_init): Define as wrapper around glthread_lock_init.
29606         (glthread_lock_lock): New macro/function.
29607         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
29608         (glthread_lock_unlock): New macro/function.
29609         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
29610         (glthread_lock_destroy): New macro/function.
29611         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
29612         (glthread_rwlock_init): New macro/function.
29613         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
29614         (glthread_rwlock_rdlock): New macro/function.
29615         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
29616         (glthread_rwlock_wrlock): New macro/function.
29617         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
29618         (glthread_rwlock_unlock): New macro/function.
29619         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
29620         (glthread_rwlock_destroy): New macro/function.
29621         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
29622         (glthread_recursive_lock_init): New macro/function.
29623         (gl_recursive_lock_init): Define as wrapper around
29624         glthread_recursive_lock_init.
29625         (glthread_recursive_lock_lock): New macro/function.
29626         (gl_recursive_lock_lock): Define as wrapper around
29627         glthread_recursive_lock_lock.
29628         (glthread_recursive_lock_unlock): New macro/function.
29629         (gl_recursive_lock_unlock): Define as wrapper around
29630         glthread_recursive_lock_unlock.
29631         (glthread_recursive_lock_destroy): New macro/function.
29632         (gl_recursive_lock_destroy): Define as wrapper around
29633         glthread_recursive_lock_destroy.
29634         (glthread_once): New macro/function.
29635         (gl_once): Define as wrapper around glthread_once.
29636         Update function declarations.
29637         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
29638         glthread_rwlock_init. Return error code.
29639         (glthread_rwlock_rdlock_multithreaded): Renamed from
29640         glthread_rwlock_rdlock. Return error code.
29641         (glthread_rwlock_wrlock_multithreaded): Renamed from
29642         glthread_rwlock_wrlock. Return error code.
29643         (glthread_rwlock_unlock_multithreaded): Renamed from
29644         glthread_rwlock_unlock. Return error code.
29645         (glthread_rwlock_destroy_multithreaded): Renamed from
29646         glthread_rwlock_destroy. Return error code.
29647         (glthread_recursive_lock_init_multithreaded): Renamed from
29648         glthread_recursive_lock_init. Return error code.
29649         (glthread_recursive_lock_lock_multithreaded): Renamed from
29650         glthread_recursive_lock_lock. Return error code.
29651         (glthread_recursive_lock_unlock_multithreaded): Renamed from
29652         glthread_recursive_lock_unlock. Return error code.
29653         (glthread_recursive_lock_destroy_multithreaded): Renamed from
29654         glthread_recursive_lock_destroy. Return error code.
29655         (glthread_once_call): Make static.
29656         (glthread_once_multithreaded): Renamed from glthread_once.
29657         * lib/tls.h: Include <errno.h>.
29658         (glthread_tls_key_init): New macro/function.
29659         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
29660         (glthread_tls_set): New macro/function.
29661         (gl_tls_set): Define as wrapper around glthread_tls_set.
29662         (glthread_tls_key_destroy): New macro/function.
29663         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
29664         Update function declarations.
29665         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
29666         glthread_tls_get.
29667         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
29668
29669 2008-08-04  Eric Blake  <ebb9@byu.net>
29670
29671         gnumakefile: use space, not TAB, outside of targets
29672         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
29673
29674 2008-08-02  Jim Meyering  <meyering@redhat.com>
29675
29676         getdate.y: avoid locale-dependent date parsing failure
29677         In Turkish locales, getdate would fail to recognize keywords
29678         containing a lowercase "i".  The solution is not to rely on
29679         locale-sensitive case-conversion.
29680         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
29681         (lookup_word): Use c_toupper in place of toupper.
29682         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
29683         Reported by Vefa Bicakci <bicave@superonline.com> in
29684         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
29685         * modules/getdate (Depends-on): Add c-ctype.
29686
29687 2008-08-02  Bruno Haible  <bruno@clisp.org>
29688
29689         * gnulib-tool (func_import): When updating or creating a .gitignore
29690         file, prepend each added line with a slash, and ignore leading slashes
29691         from the existing lines.
29692         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
29693
29694 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29695
29696         Portability fix for GNU make 3.79.1.
29697         * top/GNUmakefile: Avoid 'else COND', which older GNU make
29698         versions do not understand.
29699
29700 2008-08-01  Bruno Haible  <bruno@clisp.org>
29701
29702         Work around bug of HP-UX 10.20 cc with -0.0 literal.
29703         * tests/test-isnanf.h (zero): New variable.
29704         (main): Avoid literal -0.0f.
29705         * tests/test-isnand.h (zero): New variable.
29706         (main): Avoid literal -0.0.
29707         * tests/test-isnanl.h (zero): New variable.
29708         (main): Avoid literal -0.0L.
29709         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
29710         (test_float, test_double, test_long_double): Avoid literals -0.0f,
29711         -0.0, -0.0L.
29712         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
29713         (test_signbitd): Avoid literal -0.0.
29714         (test_signbitl): Avoid literal -0.0L.
29715         * tests/test-ceilf1.c (zero): New variable.
29716         (main): Avoid literal -0.0f.
29717         * tests/test-ceill.c (zero): New variable.
29718         (main): Avoid literal -0.0L.
29719         * tests/test-floorf1.c (zero): New variable.
29720         (main): Avoid literal -0.0f.
29721         * tests/test-floorl.c (zero): New variable.
29722         (main): Avoid literal -0.0L.
29723         * tests/test-roundf1.c (zero): New variable.
29724         (main): Avoid literal -0.0f.
29725         * tests/test-round1.c (zero): New variable.
29726         (main): Avoid literal -0.0.
29727         * tests/test-roundl.c (zero): New variable.
29728         (main): Avoid literal -0.0L.
29729         * tests/test-truncf1.c (zero): New variable.
29730         (main): Avoid literal -0.0f.
29731         * tests/test-trunc1.c (zero): New variable.
29732         (main): Avoid literal -0.0.
29733         * tests/test-truncl.c (zero): New variable.
29734         (main): Avoid literal -0.0L.
29735         * tests/test-frexp.c (zero): New variable.
29736         (main): Avoid literal -0.0.
29737         * tests/test-frexpl.c (zero): New variable.
29738         (main): Avoid literal -0.0L.
29739         * tests/test-ldexpl.c (zero): New variable.
29740         (main): Avoid literal -0.0L.
29741         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
29742         (zerod, zerol): New variables.
29743         (test_function): Avoid literals -0.0, -0.0L.
29744         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
29745         (zerod, zerol): New variables.
29746         (test_function): Avoid literals -0.0, -0.0L.
29747         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
29748         (zerod, zerol): New variables.
29749         (test_function): Avoid literals -0.0, -0.0L.
29750         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
29751         (zerod, zerol): New variables.
29752         (test_function): Avoid literals -0.0, -0.0L.
29753         * tests/test-strtod.c (zero): New variable.
29754         (main): Avoid literal -0.0.
29755         Reported by Jonathan C. Patschke <jp@centtech.com>.
29756
29757 2008-07-31  Jim Meyering  <meyering@redhat.com>
29758
29759         sha256.h: correct definition of SHA224_DIGEST_SIZE
29760         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
29761         Reported by Paulie Pena IV <paulie4@gmail.com>.
29762         Define as 224 / 8, rather than as a literal.
29763         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
29764         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
29765         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
29766
29767 2008-07-31  Bruno Haible  <bruno@clisp.org>
29768
29769         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
29770         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
29771         Reported by Jonathan Patschke <jp@centtech.com>.
29772
29773 2008-07-31  Bruno Haible  <bruno@clisp.org>
29774
29775         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
29776         Reported by Paolo Bonzini <bonzini@gnu.org>.
29777
29778 2008-07-30  Eric Blake  <ebb9@byu.net>
29779
29780         test-strtod: allow compilation without -lm
29781         * tests/test-strtod.c (main): Avoid link dependence on fabs.
29782         Reported by Dennis Clarke <blastwave@gmail.com>.
29783
29784 2008-07-28  Jim Meyering  <meyering@redhat.com>
29785
29786         bootstrap: work also when there are no .po files in po/
29787         * build-aux/bootstrap (update_po_files): Complete the change
29788         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
29789
29790 2008-07-27  Jim Meyering  <meyering@redhat.com>
29791
29792         * users.txt: Add zile.
29793
29794 2008-07-26  Ben Pfaff  <blp@gnu.org>
29795
29796         Add missing dependencies on new m4/exponent[fdl].m4 files.
29797         * modules/isnanf-nolibm: Add m4/exponentf.m4.
29798         * modules/isnand-nolibm: Add m4/exponentd.m4.
29799         * modules/isnanl-nolibm: Add m4/exponentl.m4.
29800         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
29801         m4/isnan[fdl].m4, because the macros actually used moved.
29802         Reported by Jim Meyering.
29803
29804 2008-07-14  Ben Pfaff  <blp@gnu.org>
29805
29806         Add isinf module.
29807         * lib/isinf.c: New file.
29808         * lib/math.in.h: Define isinf macro if we have decided to replace
29809         it.
29810         * m4/isinf.m4: New file.
29811         * m4/math_h.m4: Initialize and substitute variables for isinf
29812         module.
29813         * modules/isinf: New file.
29814         * modules/isinf-tests: New file.
29815         * modules/math: Add substitutions for new module.
29816         * tests/test-isinf.c: New file.
29817         * doc/posix-functions/isinf.texi: Mention new module.
29818         * MODULES.html.sh: Mention new module.
29819
29820 2008-07-14  Ben Pfaff  <blp@gnu.org>
29821
29822         Factor out some macros for use by additional modules.
29823         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
29824         exponentf.m4.
29825         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
29826         exponentd.m4.
29827         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
29828         file exponentl.m4.
29829         * m4/exponentf.m4: New file.
29830         * m4/exponentd.m4: New file.
29831         * m4/exponentl.m4: New file.
29832         * modules/isnanf: Use new file m4/exponentf.m4.
29833         * modules/isnand: Use new file m4/exponentd.m4.
29834         * modules/isnanl: Use new file m4/exponentl.m4.
29835
29836 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
29837
29838         mktime.c: normalize tp->tm_isdst value to -1/0/1.
29839         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
29840         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
29841         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
29842
29843         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
29844         readlink on platforms without PATH_MAX.
29845
29846 2008-07-21  Eric Blake  <ebb9@byu.net>
29847
29848         Warn, not fail, on stale version.
29849         * top/GNUmakefile (_curr-ver): Tone down previous patch.
29850
29851         Don't allow installation with stale devel version number.
29852         * top/GNUmakefile (_is-install-target): New macro.
29853         (_curr-ver): Forbid installation with stale version number.
29854
29855 2008-07-20  Bruno Haible  <bruno@clisp.org>
29856
29857         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
29858         TESTS_ENVIRONMENT.
29859         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
29860
29861 2008-07-20  Bruno Haible  <bruno@clisp.org>
29862
29863         * lib/c-stack.h (c_stack_action): Add documentation.
29864         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
29865
29866 2008-07-20  Bruno Haible  <bruno@clisp.org>
29867
29868         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
29869         * modules/readlink (License): Likewise.
29870
29871 2008-07-17  Eric Blake  <ebb9@byu.net>
29872
29873         * modules/c-stack (Link): Fix typo.
29874
29875         Make c-stack use libsigsegv, when available.
29876         * modules/c-stack (Depends-on): Add libsigsegv.
29877         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
29878         needed.
29879         * lib/c-stack.c (SIGSTKSZ): Define fallback.
29880         (segv_handler, overflow_handler, c_stack_action)
29881         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
29882         implementation when libsigsegv is available, but only when using
29883         the library is necessary.
29884         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
29885         comment, explaining why XSI check fails on Linux.
29886         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
29887         * tests/test-c-stack2.sh: Tweak skip message.
29888         * NEWS: Document new link-time requirements.
29889
29890 2008-07-16  Eric Blake  <ebb9@byu.net>
29891
29892         c-stack: Expose false positives when not using libsigsegv.
29893         * modules/c-stack-tests (Files): Expand test.
29894         * tests/test-c-stack.c (main): Add means to conditionally trigger
29895         non-overflow SIGSEGV.
29896         * tests/test-c-stack2.sh: New file.
29897
29898 2008-07-14  Bruno Haible  <bruno@clisp.org>
29899
29900         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
29901         Reported by Eric Blake.
29902
29903 2008-07-14  Sam Steingold  <sds@gnu.org>
29904             Bruno Haible  <bruno@clisp.org>
29905
29906         New module libsigsegv.
29907         * modules/libsigsegv: New file.
29908         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
29909         modifications.
29910         * MODULES.html.sh (Signal handling): New section.
29911
29912 2008-07-14  Bruno Haible  <bruno@clisp.org>
29913
29914         * modules/unictype/ctype-* (Description): Add the word "function".
29915         Improves the resulting doc in MODULES.html.
29916
29917 2008-07-12  Ben Pfaff  <blp@gnu.org>
29918
29919         Add longlong module.
29920         * modules/longlong: New file.
29921
29922 2008-07-12  Bruno Haible  <bruno@clisp.org>
29923
29924         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
29925         to empty.
29926
29927 2008-07-10  Ben Pfaff  <blp@gnu.org>
29928
29929         Add isnan module.
29930         * doc/posix-functions/isnan.texi: Mention new module.
29931         * lib/math.in.h: Define isnan macro if we have decided to replace
29932         it.
29933         * m4/isnan.m4: New file.
29934         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
29935         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
29936         also.
29937         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
29938         redundancy.
29939         * m4/math_h.m4: Initialize and substitute variables for isnan
29940         module.
29941         * modules/isnan: New file.
29942         * modules/isnan-tests: New file.
29943         * modules/math: Add substitutions for new module.
29944         * tests/test-isnan.c: New file.
29945         * MODULES.html.sh: Mention new module.
29946
29947 2008-07-10  Ben Pfaff  <blp@gnu.org>
29948
29949         Add isnanf module.
29950         * lib/isnanf.m4: New file.
29951         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
29952         (gl_HAVE_ISNANF_IN_LIBM): New macro.
29953         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
29954         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
29955         * modules/isnanf: New file.
29956         * modules/isnanf-tests: New file.
29957         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
29958         files.
29959         * tests/test-isnanf-nolibm.c: factored most of its contents into
29960         new file tests/test-isnanf.h.
29961         * tests/test-isnanf.h: New file.
29962         * tests/test-isnanf.c: New file.
29963         * MODULES.html.sh: Mention new module.
29964         * doc/glibc-functions/isnanf.texi: Mention new module.
29965
29966 2008-07-10  Ben Pfaff  <blp@gnu.org>
29967
29968         Add isnand module.
29969         * lib/isnand.h: New file.
29970         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
29971         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
29972         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
29973         functionality also.
29974         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
29975         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
29976         (gl_HAVE_ISNAND_IN_LIBM): New macro.
29977         * modules/isnand: New file.
29978         * modules/isnand-tests: New file.
29979         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
29980         files.
29981         * tests/test-isnand-nolibm.c: factored most of its contents into
29982         new file tests/test-isnand.h.
29983         * tests/test-isnand.h: New file.
29984         * tests/test-isnand.c: New file.
29985         * MODULES.html.sh: Mention new module.
29986
29987 2008-07-10  Ben Pfaff  <blp@gnu.org>
29988
29989         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
29990         * lib/isnand.h: Rename lib/isnand-nolibm.h.
29991         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
29992         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
29993         * modules/isnanf-nolibm: Update references to renamed files.
29994         * modules/isnand-nolibm: Likewise.
29995         * modules/isnanf-nolibm-tests: Likewise.
29996         * modules/isnand-nolibm-tests: Likewise.
29997         * lib/frexp.c: Likewise.
29998         * lib/isfinite.c: Likewise.
29999         * lib/signbitd.c: Likewise.
30000         * lib/signbitf.c: Likewise.
30001         * lib/vasnprintf.c: Likewise.
30002         * tests/test-ceilf1.c: Likewise.
30003         * tests/test-ceilf2.c: Likewise.
30004         * tests/test-floorf1.c: Likewise.
30005         * tests/test-floorf2.c: Likewise.
30006         * tests/test-frexp.c: Likewise.
30007         * tests/test-round1.c: Likewise.
30008         * tests/test-round2.c: Likewise.
30009         * tests/test-roundf1.c: Likewise.
30010         * tests/test-strtod.c: Likewise.
30011         * tests/test-trunc1.c: Likewise.
30012         * tests/test-trunc2.c: Likewise.
30013         * tests/test-truncf1.c: Likewise.
30014         * tests/test-truncf2.c: Likewise.
30015         * NEWS: Mention the renamed header files.
30016
30017 2008-07-11  Jim Meyering  <meyering@redhat.com>
30018
30019         vc-list-files: make the last-resort awk code more portable
30020         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
30021         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
30022         does not support it.
30023
30024 2008-07-10  Eric Blake  <ebb9@byu.net>
30025
30026         Work with tar's bootstrap.
30027         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
30028         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
30029         an m4 comment.
30030
30031 2008-07-09  Jim Meyering  <meyering@redhat.com>
30032
30033         posix-shell.m4: fix typo that made this test malfunction
30034         * m4/posix-shell.m4: Remove capitalization in variable name.
30035
30036 2008-07-08  Bruno Haible  <bruno@clisp.org>
30037
30038         * m4/onceonly.m4: Update comments.
30039         Reported by Ben Pfaff <blp@cs.stanford.edu>.
30040
30041 2008-07-04  Jim Meyering  <meyering@redhat.com>
30042
30043         * users.txt: Add vc-dwim.
30044         (bison, coreutils): Use the gitweb URL.
30045
30046 2008-07-03  Jim Meyering  <meyering@redhat.com>
30047
30048         * users.txt: Add libffcall.  From Sam Steingold.
30049
30050 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
30051
30052         getdate.y: do not ignore TZ with relative day, month or year offset
30053         * lib/getdate.y (get_date): Move the tz-handling block to follow the
30054         relative-date-handling, since otherwise, the latter would clobber the
30055         sole output (an updated Start value) of the tz-handling block.
30056         * tests/test-getdate.c: Tests for the fix
30057
30058 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30059
30060         Recognize 'foo_LIBRARIES += libgnu.a'.
30061         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
30062         makefile snippet has already specified an installation location,
30063         also using '+='.
30064
30065 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
30066
30067         getdate.y: factor out common actions
30068         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
30069         Use them in place of open-coded actions.
30070
30071 2008-07-01  Simon Josefsson  <simon@josefsson.org>
30072
30073         Add self-test for getdate module.
30074         * modules/getdate-tests: New file.
30075         * tests/test-getdate.c: New file.
30076
30077 2008-06-29  Bruno Haible  <bruno@clisp.org>
30078
30079         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
30080         .gitignore.
30081         Reported by Sylvain Beucler <beuc@beuc.net>.
30082
30083 2008-06-29  Bruno Haible  <bruno@clisp.org>
30084
30085         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
30086         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
30087
30088 2008-06-29  Bruno Haible  <bruno@clisp.org>
30089
30090         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
30091         EXTRA_DIST.
30092         Reported by Sylvain Beucler <beuc@beuc.net>.
30093
30094 2008-06-26  Jim Meyering  <meyering@redhat.com>
30095
30096         make several modules depend on the "open" module
30097         This provides slightly increased consistency when opening-for-write
30098         the name of a non-directory spelled with a trailing slash.
30099         * modules/chdir-safer: Likewise.
30100         * modules/chown: Likewise.
30101         * modules/clean-temp: Likewise.
30102         * modules/copy-file: Likewise.
30103         * modules/fchdir: Likewise.
30104         * modules/fcntl-safer: Likewise.
30105         * modules/pipe: Likewise.
30106         * modules/utime: Likewise.
30107         Prompted by Eric Blake and Bruno Haible.
30108
30109 2008-06-24  Andreas Schwab  <schwab@suse.de>
30110
30111         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
30112         literals can be used as initializers for global variables.
30113
30114 2008-06-23  Eric Blake  <ebb9@byu.net>
30115
30116         Make gnulib-cache.m4 easier to diff.
30117         * gnulib-tool (func_import): Allow newlines when reading cached
30118         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
30119
30120 2008-06-23  Bruno Haible  <bruno@clisp.org>
30121
30122         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
30123         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
30124         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
30125         m4/signalblocking.m4.
30126         (gl_PREREQ_SIGACTION): Don't invoke it.
30127         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
30128         gl_PREREQ_SIG_HANDLER_H.
30129         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
30130         Don't check for sigaction here.
30131
30132 2008-06-23  Bruno Haible  <bruno@clisp.org>
30133
30134         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
30135         (install_handlers): Don't set the SA_RESETHAND flag.
30136
30137 2008-06-23  Bruno Haible  <bruno@clisp.org>
30138
30139         * m4/sigaction.m4: Comment fixes.
30140         * lib/signal.in.h: Likewise.
30141
30142 2008-06-23  Eric Blake  <ebb9@byu.net>
30143
30144         Fix typo.
30145         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
30146
30147         Avoid SA_ namespace.
30148         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
30149         Reported by Ralf Wildenhues.
30150
30151         Avoid test failure due to SA_RESTORER.
30152         * tests/test-sigaction.c (SA_MASK): New macro.
30153         (main): Avoid failing due to extension flags being set.
30154         Reported by Jim Meyering.
30155
30156         Revert use of sig-handler.h in sigprocmask.c.
30157         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
30158         it requires the existence of struct sigaction.
30159         * lib/sigprocmask.c (handler_t): Restore typedef.
30160         (rpl_signal, old_handlers): Use local type.
30161
30162 2008-06-22  Bruno Haible  <bruno@clisp.org>
30163
30164         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
30165         conditionally.
30166         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
30167
30168 2008-06-22  Bruno Haible  <bruno@clisp.org>
30169
30170         * doc/posix-functions/siginterrupt.texi: Move note.
30171
30172         * lib/signal.in.h (SA_RESTART): New macro.
30173         * lib/sigaction.c: Update comment.
30174
30175         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
30176
30177         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
30178         (gl_PREREQ_SIGPROCMASK): Invoke it.
30179         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
30180
30181         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
30182
30183         * lib/sigprocmask.c: Update a comment.
30184
30185 2008-06-21  Eric Blake  <ebb9@byu.net>
30186
30187         Use sigaction module rather than signal().
30188         * modules/c-stack (Depends-on): Add sigaction.
30189         * modules/fatal-signal (Depends-on): Likewise.
30190         * modules/nanosleep (Depends-on): Likewise.
30191         * modules/sigprocmask (Files): Add sig-handler.h.
30192         * modules/sigaction (Files): Likewise.
30193         * lib/sig-handler.h (get_handler): New file, suggested by Paul
30194         Eggert.
30195         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
30196         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
30197         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
30198         (init_fatal_signals): Likewise.
30199         * lib/nanosleep.c (rpl_nanosleep): Likewise.
30200         (siginterrupt): Delete fallback.
30201         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
30202         instead.
30203         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
30204         siginterrupt.
30205
30206         New module sigaction, for mingw.
30207         * modules/sigaction: New module...
30208         * modules/sigaction-tests: ...and its test.
30209         * m4/sigaction.m4: New file.
30210         * lib/sigaction.c: Likewise.
30211         * tests/test-sigaction.c: Likewise.
30212         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
30213         * modules/signal (Makefile.am): Likewise.
30214         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
30215         needed.
30216         * doc/posix-headers/signal.texi (signal.h): Mention provided
30217         types.
30218         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
30219         that sigaction is preferable.
30220         * doc/posix-functions/sigaction.texi (sigaction): Mention new
30221         module.
30222         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
30223         sigaction.
30224
30225         Improve robustness of sigprocmask by overriding signal.
30226         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
30227         is in use.
30228         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
30229         (SIGKILL, SIGSTOP): Provide fallbacks.
30230         (rpl_signal): Implement.
30231         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
30232         signal can be called inside handlers.
30233
30234         Fix nanosleep module on mingw.
30235         * modules/nanosleep (Depends-on): Add sys_select.
30236         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
30237
30238         Fix licensing of sigprocmask.
30239         * modules/raise (License): Relicense as LGPL.
30240
30241 2008-06-21  Bruno Haible  <bruno@clisp.org>
30242
30243         * lib/propername.c (proper_name_utf8): Don't use the transliterated
30244         result if it contains question marks.
30245         Reported by Michael Geng <linux@michaelgeng.de>.
30246
30247 2008-06-19  Bruno Haible  <bruno@clisp.org>
30248
30249         Fix CVS-ism.
30250         * doc/gnulib.texi: Include updated-stamp.texi.
30251         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
30252         (updated-stamp.texi): New rule.
30253         (gnulib.info): Depend on it.
30254         * doc/.gitignore: Add updated-stamp.texi.
30255         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
30256
30257 2008-06-19  Bruno Haible  <bruno@clisp.org>
30258
30259         * doc/Makefile (gnulib.info): Update and simplify dependencies.
30260         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
30261
30262 2008-06-19  Eric Blake  <ebb9@byu.net>
30263
30264         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
30265         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
30266         Reported by Stepan Kasal.
30267
30268 2008-06-18  Bruno Haible  <bruno@clisp.org>
30269
30270         * lib/fatal-signal.c (init_fatal_signals): Add comment.
30271         Reported by Eric Blake.
30272
30273 2008-06-18  Eric Blake  <ebb9@byu.net>
30274
30275         Work around cygwin 1.5.25 strsignal bug.
30276         * tests/test-strsignal.c: Allow for const char *.
30277         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
30278
30279 2008-06-18  Simon Josefsson  <simon@josefsson.org>
30280
30281         * users.txt: Update URL to article and add author/date
30282         information.
30283
30284 2008-06-17  Bruno Haible  <bruno@clisp.org>
30285
30286         New macro gl_DISABLE_THREADS.
30287         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
30288         if the user did not pass --enable-threads or --disable-threads option.
30289         (gl_DISABLE_THREADS): New macro.
30290         Reported by Eric Blake <ebb9@byu.net>.
30291
30292 2008-06-17  Bruno Haible  <bruno@clisp.org>
30293
30294         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
30295         when the macro ignores it.
30296         Based on a patch by Eric Blake <ebb9@byu.net>.
30297
30298 2008-06-17  Bruno Haible  <bruno@clisp.org>
30299
30300         * modules/tls (License): Change to LGPLv2+.
30301         Reported by Eric Blake.
30302
30303 2008-06-17  Eric Blake  <ebb9@byu.net>
30304
30305         Simplify c-stack prerequisites.
30306         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
30307         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
30308         no longer requires <ucontext.h> to exist.  Optimize setrlimit
30309         check.
30310         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
30311         <sys/resource.h>.
30312
30313         Move c-stack test into testsuite.
30314         * modules/c-stack-tests: New file.
30315         * lib/c-stack.c [DEBUG]: Move test program...
30316         * tests/test-c-stack.c: ...into this new file.  Skip rather than
30317         fail test if sigaltstack is lacking.
30318         * tests/test-c-stack.sh: New driver file.
30319
30320 2008-06-16  Eric Blake  <ebb9@byu.net>
30321
30322         Use raise module consistently.
30323         * modules/fatal-signal (Depends-on): Add raise.
30324         * modules/sigprocmask (Depends-on): Likewise.
30325         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
30326         * lib/sigprocmask.c (sigprocmask): Likewise.
30327         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
30328         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
30329
30330         Fix compliance bug in sigpending.
30331         * lib/sigprocmask.c (sigpending): Return pending array via
30332         parameter, not return value.
30333
30334 2008-06-14  Eric Blake  <ebb9@byu.net>
30335
30336         Improve obstack-printf test code.
30337         * tests/test-obstack-printf.c (test_function): Fix comment, and
30338         simplify usage of obstack_* in macros.  Add a test for coverage.
30339         Reported by Bruno Haible.
30340
30341 2008-06-14  Bruno Haible  <bruno@clisp.org>
30342
30343         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
30344         array size as a constant, not as a const variable.
30345         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
30346         AC_USE_SYSTEM_EXTENSIONS.
30347         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
30348         Test whether the obstack_printf function actually exists.
30349         * modules/obstack-printf (Depends-on): Add extensions.
30350         (Include): Remove obstack.h.
30351         * modules/obstack-printf-posix (Depends-on): Add extensions.
30352         (Include): Remove obstack.h.
30353
30354 2008-06-13  Eric Blake  <ebb9@byu.net>
30355
30356         Add obstack-printf and obstack-printf-posix modules.
30357         * modules/obstack-printf: New file.
30358         * modules/obstack-printf-posix: Likewise.
30359         * MODULES.html.sh (Misc): Mention them.
30360         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
30361         Likewise.
30362         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
30363         Likewise.
30364         * modules/stdio (Makefile.am): Accomodate new modules.
30365         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
30366         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
30367         Declare.
30368         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
30369         functions.
30370         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
30371         (gl_REPLACE_OBSTACK_PRINTF): New macros
30372         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
30373         * tests/test-obstack-printf.c: New file.
30374         * modules/obstack-printf-tests: Likewise.
30375         * modules/obstack-printf-posix-tests: Likewise.
30376
30377 2008-06-11  Bruno Haible  <bruno@clisp.org>
30378
30379         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
30380         * lib/open.c: Include errno.h.
30381         (open): Fail when attempting to write to a file that has a trailing
30382         slash.
30383         * tests/test-open.c (main): Test against trailing slash bug.
30384         * doc/posix-functions/open.texi: Mention the trailing slash bug.
30385
30386 2008-06-10  Bruno Haible  <bruno@clisp.org>
30387
30388         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
30389         for $? to work inside the trap command, with various /bin/sh-s.
30390         * tests/test-vc-list-files-cvs.sh: Likewise.
30391
30392 2008-06-10  Bruno Haible  <bruno@clisp.org>
30393
30394         * lib/acl-internal.h: Don't include gettext.h here.
30395         * lib/set-mode-acl.c: Include gettext.h here.
30396         * lib/copy-acl.c: Likewise.
30397
30398 2008-06-10  Bruno Haible  <bruno@clisp.org>
30399
30400         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
30401         * lib/wait-process.c (wait_subprocess): Likewise.
30402         * lib/execute.h (execute): Add termsigp argument.
30403         * lib/execute.c (execute): Likewise.
30404         * lib/csharpcomp.c (compile_csharp_using_pnet,
30405         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
30406         * lib/csharpexec.c (execute_csharp_using_pnet,
30407         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
30408         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
30409         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
30410         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
30411         is_jikes_present): Update.
30412         * lib/javaexec.c (execute_java_class): Update.
30413         * lib/javaversion.c (execute_and_read_line): Update.
30414         * NEWS: Document the changes.
30415         Reported by Eric Blake.
30416
30417 2008-06-10  Eric Blake  <ebb9@byu.net>
30418
30419         Add missing include.
30420         * tests/test-strstr.c (includes): Add <signal.h>.
30421         * tests/test-strcasestr.c (includes): Likewise.
30422         * tests/test-memmem.c (includes): Likewise.
30423
30424 2008-06-10  Bruno Haible  <bruno@clisp.org>
30425
30426         * lib/wait-process.c (wait_subprocess): Add an assertion.
30427
30428 2008-06-10  Bruno Haible  <bruno@clisp.org>
30429
30430         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
30431
30432 2008-06-10  Bruno Haible  <bruno@clisp.org>
30433
30434         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
30435         using alarm().
30436         * tests/test-strcasestr.c (main): Likewise.
30437         * tests/test-strstr.c (main): Likewise.
30438
30439 2008-06-09  Bruno Haible  <bruno@clisp.org>
30440
30441         Work around the Solaris 10 ACE ACLs ABI change.
30442         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
30443         declare if ACL_NO_TRIVIAL is present.
30444         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
30445         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
30446         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
30447         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
30448         define if ACL_NO_TRIVIAL is present.
30449         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
30450         and use the current ABI.
30451         (file_has_acl): Use same #if condition as elsewhere.
30452         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
30453         in use, and use the current ABI.
30454         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
30455         Reported by Jim Meyering.
30456
30457 2008-06-09  Eric Blake  <ebb9@byu.net>
30458
30459         Work around environments that (stupidly) ignore SIGALRM.
30460         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
30461         before using alarm().
30462         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
30463         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
30464         Reported by Ian Beckwith <ianb@erislabs.net>.
30465
30466         Produce autobuild blurb earlier in log.
30467         * modules/autobuild (configure.ac-early): Move AB_INIT here.
30468
30469 2008-06-09  Jim Meyering  <meyering@redhat.com>
30470         and OndÅ™ej Vašík  <ovasik@redhat.com>
30471
30472         utimens.c: correct kernel bug work-around
30473         OndÅ™ej Vašík found that the invalid return value of 280 indicates
30474         failure, not success, and the kernel bug we're trying to work
30475         around affects not just the utimensat call, but also the fallback
30476         futimens call.
30477         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
30478         not success.
30479         [HAVE_FUTIMENS]: Use the same work-around, here.
30480
30481 2008-06-09  Jim Meyering  <meyering@redhat.com>
30482
30483         add more guards around definition of ACE_-related code
30484         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
30485         ALLOW and ACE_OWNER are also defined.
30486
30487 2008-06-08  Bruno Haible  <bruno@clisp.org>
30488
30489         * lib/acl-internal.h: Add me as co-author.
30490         * lib/file-has-acl.c: Likewise.
30491         * lib/set-mode-acl.c: Likewise.
30492         * lib/copy-acl.c: Likewise.
30493
30494 2008-06-08  Bruno Haible  <bruno@clisp.org>
30495
30496         Add support for AIX ACLs.
30497         * lib/acl-internal.h (acl_nontrivial): New declaration.
30498         * lib/file-has-acl.c (acl_nontrivial): New function.
30499         (file_has_acl): Add implementation using AIX 4 ACL API.
30500         * lib/set-mode-acl.c (qset_acl): Likewise.
30501         * lib/copy-acl.c (qcopy_acl): Likewise.
30502
30503 2008-06-08  Bruno Haible  <bruno@clisp.org>
30504
30505         Add support for HP-UX ACLs.
30506         * lib/acl-internal.h (acl_nontrivial): New declaration.
30507         * lib/file-has-acl.c (acl_nontrivial): New function.
30508         (file_has_acl): Add implementation using HP-UX 11 ACL API.
30509         * lib/set-mode-acl.c (qset_acl): Likewise.
30510         * lib/copy-acl.c (qcopy_acl): Likewise.
30511
30512 2008-06-08  Bruno Haible  <bruno@clisp.org>
30513
30514         Add support for Cygwin ACLs.
30515         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
30516         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
30517         the chmod_or_fchmod call.
30518         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
30519
30520 2008-06-08  Bruno Haible  <bruno@clisp.org>
30521
30522         Fix bug with setuid modes in Solaris 10+ code.
30523         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
30524         succeeded, when the mode contains some special bits.
30525
30526 2008-06-08  Bruno Haible  <bruno@clisp.org>
30527
30528         Add support for Solaris 7..10 ACLs.
30529         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
30530         declarations.
30531         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
30532         functions.
30533         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
30534         * lib/set-mode-acl.c (qset_acl): Likewise.
30535         * lib/copy-acl.c (qcopy_acl): Likewise.
30536
30537 2008-06-08  Bruno Haible  <bruno@clisp.org>
30538
30539         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
30540         declaration.
30541         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
30542         (acl_access_nontrivial): Remove MacOS X case.
30543         (file_has_acl): Use acl_extended_nontrivial.
30544         * lib/copy-acl.c (qcopy_acl): Likewise.
30545
30546 2008-06-08  Bruno Haible  <bruno@clisp.org>
30547
30548         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
30549
30550 2008-06-08  Jim Meyering  <meyering@redhat.com>
30551
30552         * modules/acl (Maintainer): Add Bruno Haible.
30553
30554 2008-06-07  Bruno Haible  <bruno@clisp.org>
30555
30556         Improve support for Tru64 ACLs.
30557         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
30558         ACL on OSF/1.
30559
30560 2008-06-07  Bruno Haible  <bruno@clisp.org>
30561
30562         Add support for MacOS X ACLs.
30563         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
30564         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
30565         * lib/set-mode-acl.c (qset_acl): Likewise.
30566         * lib/copy-acl.c (qcopy_acl): Likewise.
30567
30568 2008-06-07  Bruno Haible  <bruno@clisp.org>
30569
30570         Fix memory leak introduced on 2008-05-22.
30571         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
30572         use.
30573
30574 2008-06-07  Bruno Haible  <bruno@clisp.org>
30575
30576         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
30577         to construct an empty ACL.
30578
30579 2008-06-07  Bruno Haible  <bruno@clisp.org>
30580
30581         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
30582         precisely.
30583         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
30584
30585 2008-06-07  Bruno Haible  <bruno@clisp.org>
30586
30587         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
30588         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
30589
30590 2008-06-07  Bruno Haible  <bruno@clisp.org>
30591
30592         * doc/posix-functions/_setjmp.texi: Explain the use of this function
30593         regardless of POSIX.
30594         * doc/posix-functions/_longjmp.texi: Likewise.
30595         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
30596         SystemV platform in this case.
30597
30598 2008-06-06  Eric Blake  <ebb9@byu.net>
30599
30600         Document abort() bugs.
30601         * doc/posix-functions/abort.texi (abort): Mention anomalies.
30602
30603         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
30604         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
30605         sigsetjmp.
30606         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
30607         siglongjmp, but only as a macro.
30608         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
30609         is obsolete.
30610         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
30611
30612         Tweak documentation to cover cygwin argz bugs.
30613         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
30614         argz bug fix; no code change needed since no cygwin releases
30615         occurred between the last fix and the bug being tested.
30616         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
30617         module and recently fixed cygwin bugs.
30618         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
30619         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
30620         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
30621         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
30622         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
30623         Likewise.
30624         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
30625         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
30626         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
30627         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
30628         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
30629         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
30630         Likewise.
30631
30632         Avoid gcc warning on cygwin.
30633         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
30634         !ACL_NO_TRIVIAL]: Avoid unused variable.
30635
30636 2008-06-05  Eric Blake  <ebb9@byu.net>
30637
30638         Be tolerant of UNKNOWN version in gnulib-tool test dir.
30639         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
30640         git-version-gen fails to come up with a version.
30641         Reported by Simon Josefsson.
30642
30643 2008-06-05  Jim Meyering  <meyering@redhat.com>
30644             Paul Eggert  <eggert@cs.ucla.edu>
30645
30646         utimens.c: work around a probable Linux kernel bug
30647         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
30648         appears to be a kernel bug that causes utimensat to return 280
30649         instead of 0, indicating success.
30650
30651 2008-06-04  Bruno Haible  <bruno@clisp.org>
30652
30653         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
30654         2008-06-01 commit.
30655
30656 2008-06-04  Bruno Haible  <bruno@clisp.org>
30657
30658         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
30659         * lib/file-has-acl.c (acl_access_nontrivial): New function.
30660         (file_has_acl): Use it. Save errno afterwards.
30661         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
30662
30663 2008-06-03  Bruno Haible  <bruno@clisp.org>
30664
30665         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
30666         draft code. Simplify #ifs.
30667         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
30668         Put Solaris code after POSIX-draft code. Fix comments regarding
30669         Solaris 10, HP-UX. Mention Cygwin.
30670         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
30671
30672 2008-06-03  Eric Blake  <ebb9@byu.net>
30673
30674         Provide fallback for older kernels.
30675         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
30676         Provide runtime fallback if kernel lacks support.
30677         Reported by Mike Frysinger.
30678
30679 2008-06-02  Bruno Haible  <bruno@clisp.org>
30680
30681         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
30682         it exists.
30683
30684 2008-06-02  Bruno Haible  <bruno@clisp.org>
30685
30686         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
30687         * lib/copy-acl.c (qcopy_acl): Update comment.
30688
30689 2008-06-02  Bruno Haible  <bruno@clisp.org>
30690
30691         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
30692         like ACL APIs.
30693
30694 2008-06-02  Bruno Haible  <bruno@clisp.org>
30695
30696         * tests/test-file-has-acl.sh: Use different code for Cygwin.
30697         * tests/test-set-mode-acl.sh: Likewise.
30698         * tests/test-copy-acl.sh: Likewise.
30699         * tests/test-copy-file.sh: Likewise.
30700
30701 2008-06-02  Bruno Haible  <bruno@clisp.org>
30702
30703         * tests/test-file-has-acl.sh: Remove unused code.
30704
30705 2008-06-01  Bruno Haible  <bruno@clisp.org>
30706
30707         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
30708         (copy_acl): Just a wrapper around qcopy_acl that emits the error
30709         messages.
30710         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
30711
30712 2008-06-01  Bruno Haible  <bruno@clisp.org>
30713
30714         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
30715         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
30716         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
30717         APIs.
30718         * modules/acl-tests (configure.ac): Remove tests now contained in
30719         m4/acl.m4.
30720
30721 2008-06-02  Jim Meyering  <meyering@redhat.com>
30722
30723         announce-gen: use a better key-server host name
30724         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
30725         it may be more consistently reliable.  Suggested by Werner Koch
30726         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
30727
30728 2008-06-01  Bruno Haible  <bruno@clisp.org>
30729
30730         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
30731         Reported by Voroskoi Andras <voroskoi@gmail.com>.
30732
30733 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
30734
30735         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
30736
30737 2008-06-01  Bruno Haible  <bruno@clisp.org>
30738
30739         New ACL tests.
30740         * tests/test-file-has-acl.sh: New file.
30741         * tests/test-file-has-acl.c: New file.
30742         * tests/test-set-mode-acl.sh: New file.
30743         * tests/test-set-mode-acl.c: New file.
30744         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
30745         * tests/test-copy-acl.c: New file.
30746         * modules/acl-tests: New file, based on modules/copy-file-tests.
30747         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
30748         (Depends-on): Add acl-tests.
30749         (configure.ac): Remove checks.
30750         (Makefile.am): Don't create test-sameacls program here any more.
30751
30752 2008-06-01  Bruno Haible  <bruno@clisp.org>
30753
30754         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
30755         * tests/test-sameacls.c: Include progname.h.
30756         (main): Invoke set_program_name. Portability fixes for MacOS X,
30757         Solaris, HP-UX.
30758
30759 2008-06-01  Bruno Haible  <bruno@clisp.org>
30760
30761         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
30762         function.
30763         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
30764
30765 2008-06-01  Bruno Haible  <bruno@clisp.org>
30766
30767         * modules/rpmatch (Depends-on): Add strdup.
30768
30769 2008-06-01  Bruno Haible  <bruno@clisp.org>
30770
30771         * lib/pipe.c: Include unistd-safer.h.
30772         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
30773         * modules/pipe (Depends-on): Add unistd-safer.
30774
30775 2008-05-30  Simon Josefsson  <simon@josefsson.org>
30776
30777         * modules/autobuild (configure.ac): Call AB_INIT.
30778
30779 2008-05-30  Simon Josefsson  <simon@josefsson.org>
30780
30781         * tests/test-getaddrinfo.c: Don't print debug messages by default.
30782         Suggested by Bruno Haible <bruno@clisp.org>.
30783
30784 2008-05-30  Simon Josefsson  <simon@josefsson.org>
30785
30786         * tests/test-base64.c: Cast size_t to unsigned long when invoking
30787         printf.  Use %lu instead of %d.  Reported by Bruno Haible
30788         <bruno@clisp.org>.
30789
30790 2008-05-29  Eric Blake  <ebb9@byu.net>
30791
30792         Prefer new POSIX 200x interfaces over futimesat.
30793         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
30794         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
30795         when available.
30796         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
30797
30798 2008-05-28  Bruno Haible  <bruno@clisp.org>
30799
30800         * modules/stpcpy (License): Change to LGPLv2+.
30801         Requested by David Lutterkort <dlutter@redhat.com>.
30802
30803 2008-05-27  Bruno Haible  <bruno@clisp.org>
30804
30805         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
30806         current mingw.
30807         Reported by Jose E. Marchesi <jemarch@gnu.org>.
30808
30809 2008-05-27  Bruno Haible  <bruno@clisp.org>
30810
30811         * modules/iconv_open (Link): New section, from module 'iconv'.
30812         * modules/striconv (Link): Likewise.
30813         * modules/striconveh (Link): Likewise.
30814         * modules/xstriconv (Link): Likewise.
30815         * modules/unicodeio (Link): Likewise.
30816         * modules/propername (Link): Likewise.
30817         Reported by Jim Meyering.
30818
30819 2008-05-26  Jim Meyering  <meyering@redhat.com>
30820
30821         sha256: do not artificially restrict buffer length to be < 2^32
30822         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
30823         uint32_t to size_t.
30824         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
30825         to match.
30826
30827         avoid unaligned access errors, e.g., on sparc
30828         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
30829         direct access through a possibly-unaligned uint64* pointer.
30830         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
30831         direct access through a possibly-unaligned uint32* pointer.
30832         Prompted by this patch from Tom "spot" Callaway:
30833         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
30834
30835         sha512.c: fix typo in comment
30836         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
30837
30838 2008-05-25  Bruno Haible  <bruno@clisp.org>
30839
30840         * lib/set-mode-acl.c: Renamed from lib/acl.c.
30841         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
30842         (Makefile.am): Update lib_SOURCES.
30843
30844 2008-05-25  Bruno Haible  <bruno@clisp.org>
30845
30846         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
30847
30848 2008-05-25  Jim Meyering  <meyering@redhat.com>
30849
30850         useless-if-before-free: freed expr may have white-space differences
30851         * build-aux/useless-if-before-free: Recognize cases in which the
30852         freed expression differs from the tested one in embedded white
30853         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
30854         $1 was used, so we can't make any regexp shy.  Improved tests now
30855         detect this.
30856
30857         useless-if-before-free: accept white space in the expression.
30858         * build-aux/useless-if-before-free: For now, any white space
30859         in the expression must be identical in the free argument.
30860
30861         useless-if-before-free: efficiency tweak
30862         * build-aux/useless-if-before-free: Make the expression-matching
30863         regexp "shy".
30864         Make the *outer* regexp shy, not the expr-matching one.
30865
30866         update code-in-comment to accept cast of free arg
30867         * build-aux/useless-if-before-free: Update regexp.
30868
30869 2008-05-25  Bruno Haible  <bruno@clisp.org>
30870
30871         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
30872         * modules/copy-file-tests (Files, Makefile.am): Update.
30873         * tests/test-copy-file.c (func_test_copy): Update.
30874
30875 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
30876
30877         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
30878
30879 2008-05-23  Bruno Haible  <bruno@clisp.org>
30880
30881         Improve support for ACLs on OSF/1.
30882         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
30883         Remove fallback for unknown flavors of ACLs.
30884
30885 2008-05-22  Bruno Haible  <bruno@clisp.org>
30886
30887         Add support for ACLs on OSF/1.
30888         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
30889         replacements.
30890         (acl_free_text): New macro fallback.
30891         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
30892         acl_free.
30893         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
30894         acl_free_text function. Require AC_C_INLINE.
30895
30896 2008-05-22  Bruno Haible  <bruno@clisp.org>
30897
30898         Make copy_acl work on MacOS X 10.5.
30899         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
30900         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
30901         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
30902         If MODE_INSIDE_ACL, don't assume that every system has the same text
30903         representation for ACLs as FreeBSD.
30904         * lib/copy-acl.c (copy_acl): Add support for platforms with
30905         !MODE_INSIDE_ACL.
30906         * lib/file-has-acl.c (file_has_acl): Likewise.
30907         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
30908         FreeBSD, MacOS X, or IRIX, respectively.
30909
30910 2008-05-22  Bruno Haible  <bruno@clisp.org>
30911
30912         * lib/acl.h: Don't include <sys/acl.h>.
30913         (GETACLCNT): Move fallback to lib/acl-internal.h.
30914         * lib/acl-internal.h: Include <sys/acl.h> here.
30915         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
30916
30917 2008-05-22  Bruno Haible  <bruno@clisp.org>
30918
30919         Split off copy_acl function to separate file.
30920         * lib/copy-acl.c: New file, extracted from lib/acl.c.
30921         * lib/acl.c (copy_acl): Moved function to separate file.
30922         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
30923         * modules/acl (Files): Add lib/copy-acl.c.
30924         (Makefiles.am): Augment lib_SOURCES.
30925
30926 2008-05-22  Bruno Haible  <bruno@clisp.org>
30927
30928         * modules/copy-file-tests: New file.
30929         * tests/test-copy-file.sh: New file.
30930         * tests/test-copy-file.c: New file.
30931         * tests/test-copy-file-sameacls.c: New file.
30932
30933 2008-05-22  Eric Blake  <ebb9@byu.net>
30934
30935         Avoid gcc warning.
30936         * tests/test-memcmp.c (main): Pass NULL indirectly.
30937
30938 2008-05-21  Bruno Haible  <bruno@clisp.org>
30939
30940         Add reference doc about ACLs.
30941         * doc/acl-resources.txt: New file.
30942         * doc/acl-cygwin.txt: New file.
30943
30944 2008-05-21  Bruno Haible  <bruno@clisp.org>
30945
30946         Avoid one more warning from gcc.
30947         * lib/vasnprintf.c (IF_LINT): Update comments.
30948         (VASNPRINTF): Use it also for the 'prefix' array initializer.
30949
30950 2008-05-21  Jim Meyering  <meyering@redhat.com>
30951
30952         avoid a warning from gcc
30953         * lib/vasnprintf.c (IF_LINT): Define.
30954         (scale10_round_decimal_long_double):
30955         Use it to avoid a "may be used uninitialized" warning.
30956         (scale10_round_decimal_double): Likewise.
30957
30958 2008-05-21  Simon Josefsson  <simon@josefsson.org>
30959
30960         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
30961         declared.
30962
30963 2008-05-20  Bruno Haible  <bruno@clisp.org>
30964
30965         * tests/test-memcmp.c (main): Test also the sign of the result. Test
30966         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
30967
30968 2008-05-20  Simon Josefsson  <simon@josefsson.org>
30969
30970         * modules/memcmp-tests: New file.
30971         * tests/test-memcmp.c: New file.
30972
30973 2008-05-19  Bruno Haible  <bruno@clisp.org>
30974
30975         * modules/propername (Notice, configure.ac): Put quoted "..." into
30976         --keyword option.
30977         * lib/propername.h: Update comments accordingly.
30978         Reported by Eric Blake.
30979
30980 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
30981
30982         * modules/getpass-gnu (Depends-on): Add fseeko.
30983
30984 2008-05-19  Simon Josefsson  <simon@josefsson.org>
30985
30986         * modules/base64-tests: New file.
30987
30988 2008-05-19  Bo Borgerson <gigabo@gmail.com>
30989
30990         * lib/base64.c (base64_decode_ctx): If a decode context structure
30991         was passed in use it to ignore newlines.  If a context structure
30992         was _not_ passed in, continue to treat newlines as garbage (this
30993         is the historical behavior).  Formerly base64_decode.
30994         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
30995         takes a decode context structure.
30996         * lib/base64.h (base64_decode): Macro for four-argument calls.
30997         (base64_decode_alloc): Likewise.
30998         * lib/base64.c (base64_decode_ctx): If a decode context structure
30999         was passed in use it to ignore newlines.  If a context structure
31000         was _not_ passed in, continue to treat newlines as garbage (this
31001         is the historical behavior).  Formerly base64_decode.
31002         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
31003         takes a decode context structure.
31004         * lib/base64.h (base64_decode): Macro for four-argument calls.
31005         (base64_decode_alloc): Likewise.
31006
31007 2008-05-19  Jim Meyering  <meyering@redhat.com>
31008
31009         avoid a warning from gcc
31010         * lib/trim.c (IF_LINT): Define.
31011         (trim2): Use it to avoid a "may be used uninitialized" warning.
31012
31013         Fix doc typo.
31014         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
31015
31016 2008-05-19  Bruno Haible  <bruno@clisp.org>
31017
31018         * doc/glibc-functions/getpass.texi: Document limits of other
31019         implementations.
31020
31021 2008-05-19  Simon Josefsson  <simon@josefsson.org>
31022             Bruno Haible <bruno@clisp.org>
31023
31024         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
31025
31026 2008-05-18  Bruno Haible  <bruno@clisp.org>
31027
31028         * modules/propername: New file, from GNU gettext.
31029         * lib/propername.h: New file, from GNU gettext.
31030         * lib/propername.c: New file, from GNU gettext.
31031         * MODULES.html.sh (Internationalization functions): Add propername.
31032
31033 2008-05-16  Jim Meyering  <meyering@redhat.com>
31034             Bruno Haible  <bruno@clisp.org>
31035
31036         Avoid some warnings from "gcc -Wshadow".
31037         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
31038
31039 2008-05-15  Eric Blake  <ebb9@byu.net>
31040
31041         Extend previous patch to cygwin 1.7.0.
31042         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
31043         fast implementation in cygwin >= 1.7.0.
31044         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
31045         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
31046
31047 2008-05-15  Bruno Haible  <bruno@clisp.org>
31048
31049         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
31050         implementation in glibc >= 2.9.
31051         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
31052         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
31053
31054 2008-05-15  Bruno Haible  <bruno@clisp.org>
31055
31056         * MODULES.html.sh (Internationalization functions): Remove linebreak.
31057         (Unicode string functions): Add unilbrk/*.
31058         Reported by Karl Berry.
31059
31060 2008-05-15  Eric Blake  <ebb9@byu.net>
31061
31062         Fix violation of <stdbool.h> replacement in regex.
31063         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
31064         * lib/regexec.c (re_search_internal): Likewise.
31065         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
31066
31067 2008-05-15  Jim Meyering  <meyering@redhat.com>
31068
31069         avoid distracting test output when git or cvs is not found
31070         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
31071         * tests/test-vc-list-files-git.sh: Likewise.
31072
31073 2008-05-15  Eric Blake  <ebb9@byu.net>
31074
31075         Glibc finally accepted the memmem speedup code, bugzilla #5514.
31076         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
31077         glibc version.
31078         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
31079         * doc/posix-functions/strstr.texi (strstr): Likewise.
31080         * lib/str-two-way.h (MAX): Sychronize with glibc.
31081
31082 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
31083
31084         * lib/regcomp.c (optimize_utf8): Add a note on why we test
31085         opr.ctx_type.
31086         (calc_first): Initialize constraint field.
31087         (duplicate_node_closure): Use it instead of special casing ANCHORS.
31088         Fix grammar.
31089         (duplicate_node): Merge constraint field for all node types.
31090         (calc_eclosure_iter): Look at constraint field for all node types.
31091         * lib/regex_internal.c (create_cd_newstate): Don't look at
31092         opr.ctx_type.
31093
31094 2008-05-14  Bruno Haible  <bruno@clisp.org>
31095
31096         Help GCC to do better code generation.
31097         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
31098         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
31099         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
31100         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
31101         Declare with attribute 'malloc' if supported.
31102
31103 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
31104
31105         use "echo STR|wc -c" rather than unportable "expr length STR"
31106         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
31107         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
31108
31109 2008-05-14  Jim Meyering  <meyering@redhat.com>
31110
31111         use dd ibs=$n count=1 ... rather than less-portable head -c$n
31112         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
31113         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
31114         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
31115         via Collin Lasse.
31116
31117 2008-05-14  Eric Blake  <ebb9@byu.net>
31118
31119         Avoid quadratic growth in gl_LIBSOURCES.
31120         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
31121         Suggested by Bruno Haible.
31122
31123         Test xmemdup0.
31124         * modules/xmemdup0-tests: New file.
31125         * tests/test-xmemdup0.c: Likewise.
31126
31127 2008-05-13  Eric Blake  <ebb9@byu.net>
31128
31129         Split xmemdup0 into its own module.
31130         * modules/xmemdup0: New file.
31131         * lib/xmemdup0.h: Likewise.
31132         * lib/xmemdup0.c: Likewise.
31133         * MODULES.html.sh (Memory management functions): Add xmemdup0.
31134         * lib/xalloc.h (xmemdup0): Remove.
31135         * lib/xmalloc.c (xmemdup0): Likewise.
31136
31137 2008-05-13  Eric Blake  <ebb9@byu.net>
31138             Bruno Haible  <bruno@clisp.org>
31139
31140         Reduce number of forks required during autoconf.
31141         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
31142         and gl_LIBSOURCES_DIR.
31143         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
31144         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
31145         m4_syscmd per file.
31146         <m4_foreach_w>: Move...
31147         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
31148
31149 2008-05-13  Eric Blake  <ebb9@byu.net>
31150
31151         * gnulib-tool: Fix various comment typos.
31152
31153 2008-05-12  Bruno Haible  <bruno@clisp.org>
31154
31155         Tailor the linebreaking algorithm.
31156         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
31157
31158 2008-05-12  Bruno Haible  <bruno@clisp.org>
31159
31160         Update to Unicode 5.0.0.
31161         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
31162         LBP_JV, LBP_JT. Redistribute values.
31163         (unilbrk_table): Change size.
31164         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
31165         Unicode TR#14 rev. 22.
31166         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
31167         LBP_JV, LBP_JT. Redistribute values.
31168         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
31169         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
31170         Update.
31171         * lib/unilbrk/lbrkprop1.h: Regenerated.
31172         * lib/unilbrk/lbrkprop2.h: Regenerated.
31173         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
31174         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
31175         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
31176         Likewise.
31177         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
31178         Likewise.
31179         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
31180         result.
31181         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
31182         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
31183         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
31184         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
31185         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
31186         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
31187
31188 2008-05-11  Bruno Haible  <bruno@clisp.org>
31189
31190         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
31191
31192 2008-05-11  Bruno Haible  <bruno@clisp.org>
31193
31194         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
31195         * modules/unilbrk/gen-lbrk: New file.
31196
31197 2008-05-11  Bruno Haible  <bruno@clisp.org>
31198
31199         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
31200         * m4/sha512.m4 (gl_SHA512): Likewise.
31201
31202 2008-05-11  Jim Meyering  <meyering@redhat.com>
31203
31204         New modules: crypto/sha256, crypto/sha512 (from coreutils)
31205         * modules/crypto/sha256: New file.
31206         * modules/crypto/sha512: Likewise.
31207         * lib/sha256.c: Likewise.
31208         * lib/sha256.h: Likewise.
31209         * lib/sha512.c: Likewise.
31210         * lib/sha512.h: Likewise.
31211         * lib/u64.h: Likewise.
31212         * m4/sha256.m4: Likewise.
31213         * m4/sha512.m4: Likewise.
31214         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
31215
31216 2008-05-10  Bruno Haible  <bruno@clisp.org>
31217
31218         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
31219         (Input/Output <stdio.h>): Add xprintf.
31220         (Signal handling <signal.h>): Add strsignal.
31221         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
31222         (Core language properties): Add func.
31223         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
31224         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
31225         strings.
31226         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
31227         (Input/output): New section.
31228         (File system functions): Add openat-die, stat-macros.
31229         (Networking functions): Add sockets.
31230         (Unicode string functions): Add unictype/*.
31231         (Support for building libraries and executables): Add gperf.
31232         (Support for building documentation): Add agpl-3.0.
31233         (Misc): Add nocrash.
31234
31235 2008-05-10  Bruno Haible  <bruno@clisp.org>
31236
31237         * modules/unictype/gen-ctype: New file.
31238
31239 2008-05-10  Jim Meyering  <meyering@redhat.com>
31240
31241         Make chdir-safer.c more efficient on a system with no symlinks.
31242         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
31243         also if ELOOP is zero.  Suggested by Bruno Haible.
31244
31245         Make chdir-safer.c slightly safer.
31246         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
31247         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
31248
31249         Avoid compile failure on systems without ELOOP (like mingw).
31250         * lib/chdir-safer.c (ELOOP): Define if not already defined.
31251         Reported by Bruno Haible.
31252
31253 2008-05-10  Bruno Haible  <bruno@clisp.org>
31254
31255         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
31256         (is_utf8_encoding): Use a case-insensitive comparison.
31257         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
31258         streq.
31259
31260 2008-05-10  Bruno Haible  <bruno@clisp.org>
31261
31262         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
31263         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
31264         * lib/unilbrk/ulc-common.h (iconv_string_length,
31265         iconv_string_keeping_offsets): Remove declarations.
31266         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
31267         Don't include <iconv.h>, streq.h, xsize.h.
31268         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
31269         conversion.
31270         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
31271         <iconv.h>, streq.h, xsize.h.
31272         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
31273         conversion.
31274         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
31275         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
31276         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
31277         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
31278
31279 2008-05-10  Bruno Haible  <bruno@clisp.org>
31280
31281         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
31282         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
31283
31284         * modules/unilbrk/u32-width-linebreaks-tests: New file.
31285         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
31286
31287         * modules/unilbrk/u16-width-linebreaks-tests: New file.
31288         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
31289
31290         * modules/unilbrk/u8-width-linebreaks-tests: New file.
31291         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
31292
31293         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
31294         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
31295
31296         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
31297         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
31298
31299         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
31300         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
31301
31302         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
31303         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
31304
31305 2008-05-10  Bruno Haible  <bruno@clisp.org>
31306
31307         Split up 'linebreak' module.
31308         * lib/unilbrk.h: New file, based on lib/linebreak.h.
31309         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
31310         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
31311         modifications.
31312         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
31313         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
31314         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
31315         lib/linebreak.c.
31316         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
31317         lib/linebreak.c.
31318         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
31319         lib/linebreak.c.
31320         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
31321         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
31322         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
31323         lib/linebreak.c.
31324         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
31325         lib/linebreak.c.
31326         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
31327         lib/linebreak.c.
31328         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
31329         lib/linebreak.c.
31330         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
31331         lib/linebreak.c.
31332         * modules/unilbrk/base: New file.
31333         * modules/unilbrk/tables: New file.
31334         * modules/unilbrk/u8-possible-linebreaks: New file.
31335         * modules/unilbrk/u16-possible-linebreaks: New file.
31336         * modules/unilbrk/u32-possible-linebreaks: New file.
31337         * modules/unilbrk/ulc-common: New file.
31338         * modules/unilbrk/ulc-possible-linebreaks: New file.
31339         * modules/unilbrk/u8-width-linebreaks: New file.
31340         * modules/unilbrk/u16-width-linebreaks: New file.
31341         * modules/unilbrk/u32-width-linebreaks: New file.
31342         * modules/unilbrk/ulc-width-linebreaks: New file.
31343         * lib/linebreak.h: Remove file.
31344         * lib/linebreak.c: Remove file.
31345         * m4/linebreak.m4: Remove file.
31346         * modules/linebreak: Remove file.
31347         * NEWS: Mention the changes.
31348
31349 2008-05-09  Eric Blake  <ebb9@byu.net>
31350
31351         Add xmemdup0.
31352         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
31353         implementation.
31354         * lib/xmalloc.c (xmemdup0): New C implementation.
31355
31356 2008-05-08  Bruno Haible  <bruno@clisp.org>
31357
31358         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
31359
31360 2008-05-07  Eric Blake  <ebb9@byu.net>
31361
31362         Support cross-compilation of <wctype.h>.
31363         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
31364         AC_CACHE_CHECK.
31365
31366 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
31367
31368         * build-aux/vc-list-files: Add support for bzr.
31369
31370 2008-05-03  Jim Meyering  <meyering@redhat.com>
31371
31372         avoid failed assertion with tight malloc
31373         * tests/test-getndelim2.c: Correct an off-by-one assertion.
31374
31375 2008-05-03  Simon Josefsson  <simon@josefsson.org>
31376
31377         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
31378         are needed from arpa/inet.h.
31379         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
31380         Reported by Bruno Haible.
31381
31382 2008-05-02  Jim Meyering  <meyering@redhat.com>
31383
31384         avoid compilation error on FreeBSD 6
31385         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
31386
31387 2008-05-01  Jim Meyering  <meyering@redhat.com>
31388
31389         useless-if-before-free: correct --help's exit status description
31390         * build-aux/useless-if-before-free (usage): Like grep, exit 0
31391         for one or more matches, etc.  Reported by Bruno Haible.
31392
31393         vc-list-files: make the stand-alone gnulib test work
31394         * modules/vc-list-files-tests (configure.ac):
31395         Define and AC_SUBST abs_aux_dir.
31396         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
31397         $(abs_top_srcdir) to each script and having each of them
31398         duplicate the work of setting PATH, set PATH here, using
31399         the new variable, abs_aux_dir instead.
31400         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
31401         * tests/test-vc-list-files-git.sh: Likewise.
31402         Reported by Bruno Haible.
31403
31404 2008-05-01  Bruno Haible  <bruno@clisp.org>
31405
31406         * lib/getndelim2.c (getndelim2): Fix newsize computation during
31407         reallocation. Rename 'done' to 'found_delimiter'.
31408
31409 2008-05-01  Jim Meyering  <meyering@redhat.com>
31410
31411         vc-list-files: accommodate /bin/sh like the one from Solaris 10
31412         * build-aux/vc-list-files: Use `...`, not $(...).
31413
31414 2008-04-30  Jim Meyering  <meyering@redhat.com>
31415
31416         add tests for vc-list-files
31417         * modules/vc-list-files-tests: New module.
31418         * tests/test-vc-list-files-cvs.sh: New file.
31419         * tests/test-vc-list-files-git.sh: New file.
31420
31421         avoid a warning from gcc
31422         * lib/getndelim2.c (IF_LINT): Define.
31423         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
31424
31425         vc-list-files: work properly with build-aux/cvsu, too
31426         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
31427         to all cvs-based clauses.
31428
31429         vc-list-files: work properly in the CVS+awk case, too
31430         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
31431
31432         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
31433         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
31434         take more than one file argument, so .  Add quotes, just in case $dir
31435         ever contains a shell meta-character.  Prompted by Soren Hansen in
31436         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
31437
31438 2008-04-29  Eric Blake  <ebb9@byu.net>
31439
31440         Optimize getndelim2 to use block operations when possible.
31441         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
31442         freadseek, and memchr2.
31443         * lib/getndelim2.c (getndelim2): Use them for block reads.
31444
31445 2008-04-29  Bruno Haible  <bruno@clisp.org>
31446
31447         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
31448         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
31449         * modules/inet_ntop (Depends-on): Add extensions.
31450         * modules/inet_pton (Depends-on): Likewise.
31451         Reported by Simon Josefsson.
31452
31453 2008-04-29  Jim Meyering  <meyering@redhat.com>
31454
31455         When the is more than one match in a block, match all of them.
31456         * build-aux/useless-if-before-free: Iterate through each block
31457         until there are no more matches.
31458
31459         Fix broken useless-if-before-free script.
31460         * build-aux/useless-if-before-free: Fix typo: missing "?" after
31461         the expression to match cast of argument to free-like function.
31462
31463 2008-04-29  Eric Blake  <ebb9@byu.net>
31464
31465         Use new header.
31466         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
31467
31468 2008-04-29  Jim Meyering  <meyering@redhat.com>
31469
31470         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
31471         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
31472         by gnulib to exist and to declare e.g., inet_ntop.
31473         Don't include "inet_ntop.h", now removed.
31474
31475         * m4/arpa_inet_h.m4: Remove trailing blanks.
31476
31477 2008-04-29  Eric Blake  <ebb9@byu.net>
31478
31479         Silence valgrind on safe reads beyond potential array bounds.
31480         * lib/rawmemchr.valgrind: New file.
31481         * lib/strchrnul.valgrind: Likewise.
31482         * modules/rawmemchr (Files): Distribute new file.
31483         * modules/strchrnul (Files): Likewise.
31484         Suggested by Bruno Haible.
31485
31486 2008-04-29  Bruno Haible  <bruno@clisp.org>
31487
31488         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
31489         (inet_ntop, inet_pton): Change portability warning's wording.
31490         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
31491         Invoke gl_CHECK_NEXT_HEADERS.
31492         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
31493         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
31494         set ARPA_INET_H.
31495         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
31496         * modules/arpa_inet (Description): No longer only for systems that
31497         lack it.
31498         (Depends-on): Add include_next.
31499         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
31500         HAVE_ARPA_INET_H.
31501
31502 2008-04-29  Jim Meyering  <meyering@redhat.com>
31503
31504         * modules/mkdir (License): Re-license as LGPLv2+.
31505
31506 2008-04-29  Bruno Haible  <bruno@clisp.org>
31507
31508         * modules/rawmemchr (Maintainer): Set to Eric.
31509         * modules/strchrnul (Maintainer): Likewise.
31510
31511 2008-04-29  Simon Josefsson  <simon@josefsson.org>
31512
31513         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
31514         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
31515
31516         * modules/arpa_inet (arpa/inet.h): Use them.
31517
31518 2008-04-28  Eric Blake  <ebb9@byu.net>
31519
31520         Test getndelim2.
31521         * modules/getndelim2-tests: New file.
31522         * tests/test-getndelim2.c: Likewise.
31523         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
31524         stream.
31525         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
31526
31527         * MODULES.html.sh: Document new module.
31528
31529 2008-04-20  Bruno Haible  <bruno@clisp.org>
31530
31531         * lib/c-stack.c (die): Use raise.
31532         * modules/c-stack (Depends-on): Add raise.
31533
31534 2008-04-28  Bruno Haible  <bruno@clisp.org>
31535
31536         Expect rpmatch to be declared.
31537         * lib/yesno.c (rpmatch): Remove declaration.
31538
31539         Declare rpmatch.
31540         * lib/stdlib.in.h (rpmatch): New declaration.
31541         * lib/rpmatch.c: Include <stdlib.h> first.
31542         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
31543         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
31544         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
31545         HAVE_RPMATCH.
31546         * modules/rpmatch (Depends-on): Add stdlib, extensions.
31547         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
31548         (Include): Set to <stdlib.h>.
31549         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
31550         HAVE_RPMATCH.
31551         * NEWS: Document the change.
31552
31553 2008-04-28  Bruno Haible  <bruno@clisp.org>
31554
31555         Change rpmatch to use nl_langinfo when appropriate.
31556         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
31557         (N_): New macro.
31558         (localized_pattern): New function/macro.
31559         (try): Remove match, nomatch arguments. Copy the pattern into safe
31560         memory before caching it.
31561         (rpmatch): Use localized_pattern. Add translator comments.
31562         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
31563         Suggested by Eric Blake.
31564         * modules/rpmatch (Depends-on): Add stdbool.
31565
31566 2008-04-28  Eric Blake  <ebb9@byu.net>
31567
31568         Add rawmemchr module, matching glibc.
31569         * modules/string (Makefile.am): New indicator.
31570         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
31571         * lib/string.in.h (rawmemchr): Declare when appropriate.
31572         * modules/rawmemchr: New file.
31573         * m4/rawmemchr.m4: Likewise.
31574         * lib/rawmemchr.c: Likewise.
31575         * modules/rawmemchr-tests: Likewise.
31576         * tests/test-rawmemchr.c: Likewise.
31577         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
31578         module.
31579         * modules/strchrnul (Depends-on): Add rawmemchr.
31580         * lib/strchrnul.c (strchrnul): Optimize a corner case.
31581
31582         Whitespace cleanup.
31583         * tests/test-strchrnul.c: Reindent.
31584         * lib/strchrnul.c: Likewise.
31585
31586         Optimize and test strchrnul.
31587         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
31588         * modules/strchrnul-tests: New file.
31589         * tests/test-strchrnul.c: Likewise.
31590
31591         Remove intprops dependency.
31592         * modules/memchr (Depends-on): Remove intprops.
31593         * modules/memrchr (Depends-on): Likewise.
31594         * modules/memchr2 (Depends-on): Likewise.
31595         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
31596         * lib/memrchr.c (__memrchr): Likewise.
31597         * lib/memrchr2.c (memchr2): Likewise.
31598         Reported by Simon Josefsson.
31599
31600 2008-04-28  Simon Josefsson  <simon@josefsson.org>
31601
31602         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
31603         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
31604
31605 2008-04-28  Simon Josefsson  <simon@josefsson.org>
31606
31607         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
31608
31609         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
31610
31611         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
31612
31613         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
31614         declarations.
31615         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
31616
31617         * m4/inet_pton.m4: Don't check for header files.
31618
31619         * m4/inet_ntop.m4: Don't check for header files.
31620
31621 2008-04-28  Simon Josefsson  <simon@josefsson.org>
31622
31623         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
31624         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
31625         trigger for cygwin).
31626         Reported by Bruno Haible  <bruno@clisp.org>.
31627
31628 2008-04-28  Bruno Haible  <bruno@clisp.org>
31629
31630         * doc/posix-functions/strdup.texi: Mention mingw problem.
31631
31632 2008-04-27  Bruno Haible  <bruno@clisp.org>
31633
31634         * modules/stat-time-tests (Depends-on): Add sleep.
31635         * tests/test-stat-time.c (force_unlink): New function.
31636         (cleanup): Use it.
31637         (test_mtime): Remove the ctime related tests.
31638         (test_ctime): New function, containing the ctime related tests.
31639         (main): Call test_ctime, except on native Windows platforms.
31640
31641 2008-04-27  Bruno Haible  <bruno@clisp.org>
31642
31643         * lib/rpmatch.c (rpmatch): Add some comments.
31644         Reported by James Youngman <jay@gnu.org>.
31645
31646 2008-04-27  Bruno Haible  <bruno@clisp.org>
31647
31648         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
31649         quiet NaNs.
31650
31651 2008-04-27  Bruno Haible  <bruno@clisp.org>
31652
31653         Make test-yesno.sh work on mingw.
31654         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
31655         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
31656         (main): Set stdin to binary mode.
31657         * modules/yesno-tests (Depends-on): Add binary-io.
31658
31659 2008-04-27  Bruno Haible  <bruno@clisp.org>
31660
31661         Fix 'isfinite' on x86, x86_64, ia64 platforms.
31662         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
31663         argument that lie outside the IEEE 854 domain.
31664         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
31665         (gl_ISFINITE): Use it.
31666         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
31667
31668 2008-04-27  Bruno Haible  <bruno@clisp.org>
31669
31670         Allow local renaming in config.h.
31671         * lib/memrchr.c (memrchr): Don't undefine outside libc.
31672
31673 2008-04-27  Bruno Haible  <bruno@clisp.org>
31674
31675         * lib/memchr.c (__memchr): Change type of 'i'.
31676         * lib/memchr2.c (memchr2): Likewise.
31677
31678 2008-04-26  Eric Blake  <ebb9@byu.net>
31679         and Bruno Haible  <bruno@clisp.org>
31680
31681         Optimize and test memrchr.
31682         * modules/memrchr (Depends-on): Add intprops.
31683         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
31684         * modules/memrchr-tests: New file.
31685         * tests/test-memrchr.c: New file.
31686
31687 2008-04-26  Bruno Haible  <bruno@clisp.org>
31688
31689         Add tentative support for DragonFly BSD.
31690         * lib/stdio-impl.h: Add macros for DragonFly BSD.
31691         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
31692         fp.
31693         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
31694         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
31695         * lib/fpurge.c (fpurge): Likewise.
31696         * lib/freadable.c (freaadable): Likewise.
31697         * lib/freadahead.c (freadahead): Likewise.
31698         * lib/freading.c (freading): Likewise.
31699         * lib/freadptr.c (freadptr): Likewise.
31700         * lib/freadseek.c (freadptrinc): Likewise.
31701         * lib/fseeko.c (fseeko): Likewise.
31702         * lib/fseterr.c (fseterr): Likewise.
31703         * lib/fwritable.c (fwritable): Likewise.
31704         * lib/fwriting.c (fwriting): Likewise.
31705
31706 2008-04-26  Bruno Haible  <bruno@clisp.org>
31707
31708         * lib/stdio-impl.h: New file.
31709         * lib/fbufmode.c: Include stdio-impl.h.
31710         (fbufmode): Use fp_, remove redundant #defines.
31711         * lib/fflush.c: Include stdio-impl.h.
31712         (clear_ungetc_buffer): Remove redundant #defines.
31713         * lib/fpurge.c: Include stdio-impl.h.
31714         (fpurge): Remove redundant #defines.
31715         * lib/freadable.c: Include stdio-impl.h.
31716         (freadable): Remove redundant #defines.
31717         * lib/freadahead.c: Include stdio-impl.h.
31718         (freadahead): Remove redundant #defines.
31719         * lib/freading.c: Include stdio-impl.h.
31720         (freading): Remove redundant #defines.
31721         * lib/freadptr.c: Include stdio-impl.h.
31722         (freadptr): Remove redundant #defines.
31723         * lib/freadseek.c: Include stdio-impl.h.
31724         (freadptrinc): Remove redundant #defines.
31725         * lib/fseeko.c: Include stdio-impl.h.
31726         (rpl_fseeko): Remove redundant #defines.
31727         * lib/fseterr.c: Include stdio-impl.h.
31728         (fseterr): Remove redundant #defines.
31729         * lib/fwritable.c: Include stdio-impl.h.
31730         (fwritable: Remove redundant #defines.
31731         * lib/fwriting.c: Include stdio-impl.h.
31732         (fwriting): Remove redundant #defines.
31733         * modules/fbufmode (Files): Add lib/stdio-impl.h.
31734         * modules/fflush (Files): Likewise.
31735         * modules/fpurge (Files): Likewise.
31736         * modules/freadable (Files): Likewise.
31737         * modules/freadahead (Files): Likewise.
31738         * modules/freading (Files): Likewise.
31739         * modules/freadptr (Files): Likewise.
31740         * modules/freadseek (Files): Likewise.
31741         * modules/fseeko (Files): Likewise.
31742         * modules/fseterr (Files): Likewise.
31743         * modules/fwritable (Files): Likewise.
31744         * modules/fwriting (Files): Likewise.
31745
31746 2008-04-26  Bruno Haible  <bruno@clisp.org>
31747
31748         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
31749         restore_seek_optimization, update_fpos_cache): New functions, extracted
31750         from rpl_fflush.
31751         (rpl_fflush): Use them.
31752         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
31753         (gl_REPLACE_FFLUSH): Use it.
31754
31755 2008-04-26  Bruno Haible  <bruno@clisp.org>
31756
31757         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
31758         on Solaris.
31759         * tests/test-xstrtoimax.sh: Likewise.
31760         * tests/test-xstrtoumax.sh: Likewise.
31761         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
31762
31763 2008-04-26  Bruno Haible  <bruno@clisp.org>
31764
31765         * modules/memchr-tests: New file.
31766         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
31767
31768 2008-04-26  Eric Blake  <ebb9@byu.net>
31769             Bruno Haible  <bruno@clisp.org>
31770
31771         * lib/memchr.c: Include intprops.h.
31772         (__memchr): Optimize parallel detection of matching bytes. Rename local
31773         variables. Add explanatory comments.
31774
31775 2008-04-26  Bruno Haible  <bruno@clisp.org>
31776
31777         Fix module 'memchr', broken since 2000-10-28.
31778         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
31779
31780 2008-04-26  Bruno Haible  <bruno@clisp.org>
31781
31782         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
31783         comments.
31784
31785 2008-04-25  Eric Blake  <ebb9@byu.net>
31786
31787         Use native fstatat on cygwin 1.7.0.
31788         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
31789         first.
31790
31791 2008-04-23  Eric Blake  <ebb9@byu.net>
31792
31793         Improve memchr2 performance.
31794         * lib/memchr2.c (memchr2): Further optimize parallel detection of
31795         NUL bytes.
31796         * modules/memchr2 (Depends-on): Use intprops.h.
31797
31798 2008-04-23  Simon Josefsson  <simon@josefsson.org>
31799
31800         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
31801         an inline function instead of a CPP macro.  Patch by Ben Pfaff
31802         <blp@cs.stanford.edu>.
31803
31804 2008-04-23  Simon Josefsson  <simon@josefsson.org>
31805
31806         * lib/arpa_inet.in.h: New file.
31807
31808         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
31809         (Makefile.am): Sed in substitute header file.
31810
31811         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
31812         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
31813
31814         * modules/inet_ntop (configure.ac): Use
31815         gl_ARPA_INET_MODULE_INDICATOR.
31816
31817         * modules/inet_pton (configure.ac): Use
31818         gl_ARPA_INET_MODULE_INDICATOR.
31819
31820 2008-04-22  Jim Meyering  <meyering@redhat.com>
31821
31822         * modules/verify (License): Re-license as LGPLv2+.
31823
31824 2008-04-22  Simon Josefsson  <simon@josefsson.org>
31825
31826         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
31827         parameter to void* as per POSIX standard (MinGW uses char*).
31828
31829 2008-04-21  Bruno Haible  <bruno@clisp.org>
31830
31831         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
31832         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
31833         Define to replacements if REPLACE_ISWCNTRL is 1.
31834         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
31835         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
31836         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
31837         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
31838         what it fixes.
31839         * doc/posix-functions/iswalpha.texi: Likewise.
31840         * doc/posix-functions/iswblank.texi: Likewise.
31841         * doc/posix-functions/iswcntrl.texi: Likewise.
31842         * doc/posix-functions/iswdigit.texi: Likewise.
31843         * doc/posix-functions/iswgraph.texi: Likewise.
31844         * doc/posix-functions/iswlower.texi: Likewise.
31845         * doc/posix-functions/iswprint.texi: Likewise.
31846         * doc/posix-functions/iswpunct.texi: Likewise.
31847         * doc/posix-functions/iswspace.texi: Likewise.
31848         * doc/posix-functions/iswupper.texi: Likewise.
31849         * doc/posix-functions/iswxdigit.texi: Likewise.
31850         Reported by Alain Guibert.
31851
31852 2008-04-21  Bruno Haible  <bruno@clisp.org>
31853
31854         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
31855         Patch by Alain Guibert.
31856
31857 2008-04-21  Bruno Haible  <bruno@clisp.org>
31858
31859         Fix test failures on mingw.
31860         * tests/test-xstrtol.c (print_no_progname): New function.
31861         (main): Install it in error_print_progname hook.
31862         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
31863         * tests/test-xstrtoimax.sh: Likewise.
31864         * tests/test-xstrtoumax.sh: Likewise.
31865
31866 2008-04-21  Bruno Haible  <bruno@clisp.org>
31867
31868         Fix test failure on mingw.
31869         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
31870
31871 2008-04-21  Bruno Haible  <bruno@clisp.org>
31872
31873         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
31874         Actually assign a value.
31875
31876 2008-04-20  Bruno Haible  <bruno@clisp.org>
31877
31878         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
31879         take 2.
31880         * lib/canonicalize.c (canonicalize_file_name): Elide if the
31881         'canonicalize-lgpl' module is also used.
31882         * lib/canonicalize-lgpl.c: Undo last change.
31883         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
31884
31885 2008-04-20  Bruno Haible  <bruno@clisp.org>
31886
31887         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
31888         config.h. Provide _mkdir based fallback for mingw.
31889         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
31890         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
31891         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
31892         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
31893         rather than defining mkdir in config.h.
31894         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
31895         (gl_SYS_STAT_H_DEFAULTS): New macro.
31896         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
31897         HAVE_IO_H any more.
31898         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
31899         HAVE_DECL_MKDIR and HAVE_IO_H.
31900
31901 2008-04-20  Bruno Haible  <bruno@clisp.org>
31902
31903         * lib/isapipe.c: Port to native Windows platforms.
31904
31905 2008-04-20  Bruno Haible  <bruno@clisp.org>
31906
31907         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
31908
31909 2008-04-21  Eric Blake  <ebb9@byu.net>
31910
31911         Work around preprocessors that don't handle UINTMAX_MAX.
31912         * lib/memchr2.c (memchr2): Avoid embedded #if.
31913         Reported by Alain Guibert, fix suggested by Bruno Haible.
31914
31915 2008-04-21  Simon Josefsson  <simon@josefsson.org>
31916
31917         * doc/posix-functions/strftime.texi (strftime): Explain better
31918         Windows incompatibility.  Suggested by Micah Cowan
31919         <micah@cowan.name>.
31920
31921 2008-04-20  Bruno Haible  <bruno@clisp.org>
31922
31923         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
31924         unistr/u8-mblen.
31925
31926 2008-04-20  Bruno Haible  <bruno@clisp.org>
31927
31928         Fix test failure on platforms with non-GNU iconv.
31929         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
31930         (U_TO_U8): Use it, rather than u16_to_u8.
31931         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
31932         units at the end of the input string.
31933         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
31934
31935 2008-04-20  Bruno Haible  <bruno@clisp.org>
31936
31937         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
31938         when the resulting length is 0.
31939         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
31940
31941 2008-04-20  Bruno Haible  <bruno@clisp.org>
31942
31943         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
31944         works.
31945         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
31946
31947 2008-04-20  Bruno Haible  <bruno@clisp.org>
31948
31949         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
31950         * modules/tsearch-tests (configure.ac): Test for initstate function.
31951
31952 2008-04-20  Bruno Haible  <bruno@clisp.org>
31953
31954         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
31955         for nlink_t if missing.
31956         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
31957
31958 2008-04-19  Bruno Haible  <bruno@clisp.org>
31959
31960         Work around snprintf bug on Linux libc5.
31961         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
31962         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
31963         gl_SNPRINTF_SIZE1.
31964         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
31965         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
31966         that test failed.
31967         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
31968         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
31969         * modules/snprintf (Files): Add m4/printf.m4.
31970         * modules/vsnprintf (Files): Likewise.
31971         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
31972         * doc/posix-functions/vsnprintf.texi: Likewise.
31973
31974 2008-04-19  Bruno Haible  <bruno@clisp.org>
31975
31976         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
31977         from 0.0058 to less than 10^-7.
31978
31979 2008-04-19  Bruno Haible  <bruno@clisp.org>
31980
31981         Fix rounding when a precision is given.
31982         * lib/vasnprintf.c (is_borderline): New function.
31983         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
31984         9...9x.
31985         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
31986         %e, %g.
31987         * tests/test-vasprintf-posix.c (test_function): Likewise.
31988         * tests/test-snprintf-posix.h (test_function): Likewise.
31989         * tests/test-sprintf-posix.h (test_function): Likewise.
31990         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
31991         * tests/test-printf-posix.h (test_function): Likewise.
31992         * tests/test-printf-posix.output: Update.
31993         Reported by John Darrington <john@darrington.wattle.id.au> via
31994         Ben Pfaff <blp@cs.stanford.edu>.
31995
31996 2008-04-18  Simon Josefsson  <simon@josefsson.org>
31997
31998         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
31999         Suggested by Bruno Haible <bruno@clisp.org>.
32000
32001 2008-04-17  Bruno Haible  <bruno@clisp.org>
32002
32003         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
32004         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
32005         implementation.
32006         Patch by Bruce Merry <bmerry@gmail.com>.
32007
32008 2008-04-17  Simon Josefsson  <simon@josefsson.org>
32009
32010         * doc/posix-functions/strftime.texi (strftime): Mention that %e
32011         doesn't work under Windows.
32012
32013 2008-04-16  Bruno Haible  <bruno@clisp.org>
32014
32015         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
32016         New macros.
32017         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
32018         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
32019         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
32020         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
32021         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
32022         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
32023         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
32024         macros.
32025         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
32026         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
32027         Northern Sotho, Uighur.
32028
32029 2008-04-16  Bruno Haible  <bruno@clisp.org>
32030
32031         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
32032         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
32033         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
32034         Reported by Daniel Bergström <daniel@octocode.com>.
32035
32036 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
32037             Bruno Haible  <bruno@clisp.org>
32038
32039         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
32040         function.
32041         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
32042         New functions, mostly extracted from gl_locale_name_default.
32043         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
32044
32045 2008-04-16  Eric Blake  <ebb9@byu.net>
32046
32047         Adjust strtod detection to catch glibc 2.7 bug.
32048         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
32049         Reported by John Gatewood Ham.
32050
32051 2008-04-16  Bruno Haible  <bruno@clisp.org>
32052
32053         Add tentative support for Linux libc5.
32054         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
32055         * lib/fpurge.c (fpurge): Likewise.
32056         * lib/freadable.c (freadable): Likewise.
32057         * lib/freadahead.c (freadahead): Likewise.
32058         * lib/freading.c (freading): Likewise.
32059         * lib/freadptr.c (freadptr): Likewise.
32060         * lib/freadseek.c (freadptrinc): Likewise.
32061         * lib/fseeko.c (rpl_fseeko): Likewise.
32062         * lib/fseterr.c (fseterr): Likewise.
32063         * lib/fwritable.c (fwritable): Likewise.
32064         * lib/fwriting.c (fwriting): Likewise.
32065         Reported by Alain Guibert <alguibert+bts@free.fr>.
32066
32067 2008-04-15  Bruno Haible  <bruno@clisp.org>
32068
32069         * modules/mathl (configure.ac): Define module indicator.
32070
32071 2008-04-15  Bruno Haible  <bruno@clisp.org>
32072
32073         * lib/logl.c (logl): Remove unused variables.
32074
32075 2008-04-15  Bruno Haible  <bruno@clisp.org>
32076
32077         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
32078         fails.
32079
32080 2008-04-15  Bruno Haible  <bruno@clisp.org>
32081
32082         * lib/trim.c (trim2): Fix argument of isspace() macro.
32083
32084 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
32085
32086         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
32087         to 0.
32088         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
32089
32090 2008-04-14  Bruno Haible  <bruno@clisp.org>
32091
32092         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
32093         AC_LANG_PROGRAM argument.
32094         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
32095         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
32096         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
32097         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
32098         * m4/math_h.m4 (gl_MATH_H): Likewise.
32099         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
32100         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
32101         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
32102         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
32103         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
32104         * m4/regex.m4 (gl_REGEX): Likewise.
32105         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
32106         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
32107         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
32108         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
32109         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
32110         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
32111         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
32112         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
32113
32114 2008-04-14  Jim Meyering  <meyering@redhat.com>
32115
32116         test-strtod: fix typos: s/abs/fabs/
32117         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
32118
32119 2008-04-13  Bruno Haible  <bruno@clisp.org>
32120
32121         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
32122         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
32123         module is also used and while not building the reloc-wrapper.
32124
32125 2008-04-13  Bruno Haible  <bruno@clisp.org>
32126
32127         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
32128
32129 2008-04-13  Bruno Haible  <bruno@clisp.org>
32130
32131         Fix AIX compilation failure introduced on 2008-04-02.
32132         * tests/test-frexp.c (exp): Undefine before redefining.
32133         * tests/test-frexpl.c (exp): Likewise.
32134
32135 2008-04-13  Bruno Haible  <bruno@clisp.org>
32136
32137         Work around a HP-UX stdio bug.
32138         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
32139         * tests/test-ftello.c (main): Likewise.
32140         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
32141         * doc/posix-functions/ftello.texi: Likewise.
32142
32143 2008-04-13  Bruno Haible  <bruno@clisp.org>
32144
32145         Make test-signbit pass on HP-UX/hppa.
32146         * tests/test-signbit.c (minus_zerol): New variable.
32147         (test_signbitl): Use it.
32148
32149 2008-04-13  Bruno Haible  <bruno@clisp.org>
32150
32151         Make truncl work on OSF/1 4.0.
32152         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
32153         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
32154         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
32155         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
32156         HAVE_DECL_TRUNCL.
32157         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
32158         HAVE_DECL_TRUNCL.
32159         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
32160
32161 2008-04-13  Bruno Haible  <bruno@clisp.org>
32162
32163         * lib/unictype.h: Remove trailing comma from enumeration definitions.
32164
32165 2008-04-13  Bruno Haible  <bruno@clisp.org>
32166
32167         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
32168         expression, so as to avoid HP-UX 11 cc compiler bug.
32169
32170 2008-04-13  Bruno Haible  <bruno@clisp.org>
32171
32172         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
32173
32174 2008-04-13  Bruno Haible  <bruno@clisp.org>
32175
32176         * lib/git-merge-changelog.c: Remove empty declaration outside of
32177         functions.
32178
32179 2008-04-13  Bruno Haible  <bruno@clisp.org>
32180
32181         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
32182
32183 2008-04-13  Bruno Haible  <bruno@clisp.org>
32184
32185         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
32186         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
32187         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
32188         also if it exists but lacks definitions of the SHUT_* macros.
32189         * modules/sys_socket (Description): Update.
32190         Reported by Elbert Pol <e.pol@chello.nl>.
32191
32192 2008-04-13  Bruno Haible  <bruno@clisp.org>
32193
32194         * lib/localcharset.c (OS2): Don't redefine if already defined.
32195         Reported by Elbert Pol <e.pol@chello.nl>.
32196
32197 2008-04-13  Bruno Haible  <bruno@clisp.org>
32198
32199         * lib/binary-io.h [__EMX__]: Include <io.h>.
32200         Reported by Elbert Pol <e.pol@chello.nl>.
32201
32202 2008-04-12  Bruno Haible  <bruno@clisp.org>
32203
32204         * lib/fpucw.h: Enable the definitions also for x86_64.
32205         Needed for NetBSD/x86_64.
32206         Reported by Thomas Klausner <tk@giga.or.at>.
32207
32208 2008-04-12  Bruno Haible  <bruno@clisp.org>
32209
32210         * tests/test-strtod.c: Include isnand.h.
32211         (main): Use isnand instead of isnan.
32212         Reported by Jim Meyering.
32213
32214 2008-04-12  Bruno Haible  <bruno@clisp.org>
32215
32216         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
32217         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
32218
32219 2008-04-12  Jim Meyering  <meyering@redhat.com>
32220
32221         * m4/math_h.m4 (gl_MATH_H): Fix typos.
32222
32223 2008-04-12  Bruno Haible  <bruno@clisp.org>
32224
32225         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
32226         Reported by Elbert Pol <e.pol@chello.nl>.
32227
32228 2008-04-12  Eric Blake  <ebb9@byu.net>
32229
32230         Work around Solaris 10 math.h bug.
32231         * m4/math_h.m4 (gl_MATH_H): Check for bug.
32232         (gl_MATH_H_DEFAULTS): Set up default.
32233         * modules/math (Makefile.am): Replace new indicators.
32234         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
32235         * tests/test-math.c (main): Test this.
32236         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
32237         * doc/posix-headers/math.texi (math.h): Mention bug.
32238         Reported by Nelson H. F. Beebe and Jim Meyering.
32239
32240 2008-04-11  Bruno Haible  <bruno@clisp.org>
32241
32242         Adapt to future versions of Apple GCC.
32243         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
32244         Reported by Peter O'Gorman <peter@pogma.com>.
32245
32246 2008-04-11  Bruno Haible  <bruno@clisp.org>
32247
32248         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
32249
32250 2008-04-11  Bruno Haible  <bruno@clisp.org>
32251
32252         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
32253
32254         * modules/getaddrinfo-tests (Makefile.am): Define
32255         test_getaddrinfo_LDADD.
32256
32257 2008-04-11  Bruno Haible  <bruno@clisp.org>
32258
32259         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
32260         (init): Fix syntax error.
32261         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
32262         is declared.
32263
32264 2008-04-11  Bruno Haible  <bruno@clisp.org>
32265
32266         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
32267         * modules/glob (Depends-on): Add stdbool.
32268
32269 2008-04-11  Bruno Haible  <bruno@clisp.org>
32270
32271         * lib/trim.c: Include <string.h>.
32272
32273 2008-04-11  Eric Blake  <ebb9@byu.net>
32274
32275         Avoid compile failure on OS/2.
32276         * lib/regex_internal.h (internal_function): Disable optimization
32277         on OS/2 (__EMX__), where it caused compiler error.
32278         Reported by Elbert Pol.
32279
32280 2008-04-11  Bruno Haible  <bruno@clisp.org>
32281
32282         Flush the standard error stream before aborting. Needed on mingw.
32283         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
32284         * tests/test-array_list.c (ASSERT): Likewise.
32285         * tests/test-array_oset.c (ASSERT): Likewise.
32286         * tests/test-avltree_list.c (ASSERT): Likewise.
32287         * tests/test-avltree_oset.c (ASSERT): Likewise.
32288         * tests/test-avltreehash_list.c (ASSERT): Likewise.
32289         * tests/test-binary-io.c (ASSERT): Likewise.
32290         * tests/test-byteswap.c (ASSERT): Likewise.
32291         * tests/test-c-ctype.c (ASSERT): Likewise.
32292         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
32293         * tests/test-c-strcasestr.c (ASSERT): Likewise.
32294         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
32295         * tests/test-c-strstr.c (ASSERT): Likewise.
32296         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
32297         * tests/test-canonicalize.c (ASSERT): Likewise.
32298         * tests/test-carray_list.c (ASSERT): Likewise.
32299         * tests/test-ceilf1.c (ASSERT): Likewise.
32300         * tests/test-ceilf2.c (ASSERT): Likewise.
32301         * tests/test-ceill.c (ASSERT): Likewise.
32302         * tests/test-count-one-bits.c (ASSERT): Likewise.
32303         * tests/test-fbufmode.c (ASSERT): Likewise.
32304         * tests/test-fflush2.c (ASSERT): Likewise.
32305         * tests/test-floorf1.c (ASSERT): Likewise.
32306         * tests/test-floorf2.c (ASSERT): Likewise.
32307         * tests/test-floorl.c (ASSERT): Likewise.
32308         * tests/test-fopen.c (ASSERT): Likewise.
32309         * tests/test-fpending.c (ASSERT): Likewise.
32310         * tests/test-fprintf-posix.c (ASSERT): Likewise.
32311         * tests/test-fpurge.c (ASSERT): Likewise.
32312         * tests/test-freadable.c (ASSERT): Likewise.
32313         * tests/test-freadahead.c (ASSERT): Likewise.
32314         * tests/test-freading.c (ASSERT): Likewise.
32315         * tests/test-freadptr.c (ASSERT): Likewise.
32316         * tests/test-freadptr2.c (ASSERT): Likewise.
32317         * tests/test-freadseek.c (ASSERT): Likewise.
32318         * tests/test-freopen.c (ASSERT): Likewise.
32319         * tests/test-frexp.c (ASSERT): Likewise.
32320         * tests/test-frexpl.c (ASSERT): Likewise.
32321         * tests/test-fseek.c (ASSERT): Likewise.
32322         * tests/test-fseeko.c (ASSERT): Likewise.
32323         * tests/test-fstrcmp.c (ASSERT): Likewise.
32324         * tests/test-ftell.c (ASSERT): Likewise.
32325         * tests/test-ftello.c (ASSERT): Likewise.
32326         * tests/test-func.c (ASSERT): Likewise.
32327         * tests/test-fwritable.c (ASSERT): Likewise.
32328         * tests/test-fwriting.c (ASSERT): Likewise.
32329         * tests/test-getdelim.c (ASSERT): Likewise.
32330         * tests/test-getline.c (ASSERT): Likewise.
32331         * tests/test-i-ring.c (ASSERT): Likewise.
32332         * tests/test-iconv-utf.c (ASSERT): Likewise.
32333         * tests/test-iconv.c (ASSERT): Likewise.
32334         * tests/test-isfinite.c (ASSERT): Likewise.
32335         * tests/test-isnand.c (ASSERT): Likewise.
32336         * tests/test-isnanf.c (ASSERT): Likewise.
32337         * tests/test-isnanl.h (ASSERT): Likewise.
32338         * tests/test-ldexpl.c (ASSERT): Likewise.
32339         * tests/test-linked_list.c (ASSERT): Likewise.
32340         * tests/test-linkedhash_list.c (ASSERT): Likewise.
32341         * tests/test-localename.c (ASSERT): Likewise.
32342         * tests/test-lseek.c (ASSERT): Likewise.
32343         * tests/test-mbscasecmp.c (ASSERT): Likewise.
32344         * tests/test-mbscasestr1.c (ASSERT): Likewise.
32345         * tests/test-mbscasestr2.c (ASSERT): Likewise.
32346         * tests/test-mbscasestr3.c (ASSERT): Likewise.
32347         * tests/test-mbscasestr4.c (ASSERT): Likewise.
32348         * tests/test-mbschr.c (ASSERT): Likewise.
32349         * tests/test-mbscspn.c (ASSERT): Likewise.
32350         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
32351         * tests/test-mbspbrk.c (ASSERT): Likewise.
32352         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
32353         * tests/test-mbsrchr.c (ASSERT): Likewise.
32354         * tests/test-mbsspn.c (ASSERT): Likewise.
32355         * tests/test-mbsstr1.c (ASSERT): Likewise.
32356         * tests/test-mbsstr2.c (ASSERT): Likewise.
32357         * tests/test-mbsstr3.c (ASSERT): Likewise.
32358         * tests/test-memchr2.c (ASSERT): Likewise.
32359         * tests/test-memmem.c (ASSERT): Likewise.
32360         * tests/test-open.c (ASSERT): Likewise.
32361         * tests/test-printf-frexp.c (ASSERT): Likewise.
32362         * tests/test-printf-frexpl.c (ASSERT): Likewise.
32363         * tests/test-printf-posix.c (ASSERT): Likewise.
32364         * tests/test-quotearg.c (ASSERT): Likewise.
32365         * tests/test-rbtree_list.c (ASSERT): Likewise.
32366         * tests/test-rbtree_oset.c (ASSERT): Likewise.
32367         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
32368         * tests/test-round1.c (ASSERT): Likewise.
32369         * tests/test-roundf1.c (ASSERT): Likewise.
32370         * tests/test-roundl.c (ASSERT): Likewise.
32371         * tests/test-signbit.c (ASSERT): Likewise.
32372         * tests/test-sleep.c (ASSERT): Likewise.
32373         * tests/test-snprintf-posix.c (ASSERT): Likewise.
32374         * tests/test-snprintf.c (ASSERT): Likewise.
32375         * tests/test-sprintf-posix.c (ASSERT): Likewise.
32376         * tests/test-stat-time.c (ASSERT): Likewise.
32377         * tests/test-strcasestr.c (ASSERT): Likewise.
32378         * tests/test-strerror.c (ASSERT): Likewise.
32379         * tests/test-striconv.c (ASSERT): Likewise.
32380         * tests/test-striconveh.c (ASSERT): Likewise.
32381         * tests/test-striconveha.c (ASSERT): Likewise.
32382         * tests/test-strsignal.c (ASSERT): Likewise.
32383         * tests/test-strstr.c (ASSERT): Likewise.
32384         * tests/test-strtod.c (ASSERT): Likewise.
32385         * tests/test-trunc1.c (ASSERT): Likewise.
32386         * tests/test-trunc2.c (ASSERT): Likewise.
32387         * tests/test-truncf1.c (ASSERT): Likewise.
32388         * tests/test-truncf2.c (ASSERT): Likewise.
32389         * tests/test-truncl.c (ASSERT): Likewise.
32390         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
32391         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
32392         * tests/test-vasnprintf.c (ASSERT): Likewise.
32393         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
32394         * tests/test-vasprintf.c (ASSERT): Likewise.
32395         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
32396         * tests/test-vprintf-posix.c (ASSERT): Likewise.
32397         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
32398         * tests/test-vsnprintf.c (ASSERT): Likewise.
32399         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
32400         * tests/test-wcwidth.c (ASSERT): Likewise.
32401         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
32402         * tests/test-xprintf-posix.c (ASSERT): Likewise.
32403         * tests/test-xvasprintf.c (ASSERT): Likewise.
32404         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
32405         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
32406         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
32407         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
32408         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
32409         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
32410         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
32411         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
32412         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
32413         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
32414         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
32415         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
32416         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
32417         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
32418         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
32419         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
32420         * tests/unictype/test-block_list.c (ASSERT): Likewise.
32421         * tests/unictype/test-block_of.c (ASSERT): Likewise.
32422         * tests/unictype/test-block_test.c (ASSERT): Likewise.
32423         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
32424         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
32425         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
32426         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
32427         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
32428         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
32429         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
32430         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
32431         * tests/unictype/test-combining.c (ASSERT): Likewise.
32432         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
32433         * tests/unictype/test-digit.c (ASSERT): Likewise.
32434         * tests/unictype/test-mirror.c (ASSERT): Likewise.
32435         * tests/unictype/test-numeric.c (ASSERT): Likewise.
32436         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
32437         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
32438         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
32439         * tests/unictype/test-scripts.c (ASSERT): Likewise.
32440         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
32441         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
32442         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
32443         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
32444         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
32445         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
32446         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
32447         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
32448         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
32449         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
32450         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
32451         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
32452         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
32453         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
32454         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
32455         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
32456         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
32457         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
32458         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
32459         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
32460         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
32461         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
32462         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
32463         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
32464         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
32465         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
32466         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
32467         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
32468         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
32469         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
32470         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
32471         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
32472         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
32473         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
32474         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
32475         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
32476         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
32477         Reported by Eric Blake.
32478
32479 2008-04-11  Bruno Haible  <bruno@clisp.org>
32480
32481         * lib/wchar.in.h: Tweak comment.
32482
32483 2008-04-11  Bruno Haible  <bruno@clisp.org>
32484
32485         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
32486         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
32487         gl_COMMON.
32488         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
32489
32490 2008-04-11  Bruno Haible  <bruno@clisp.org>
32491
32492         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
32493
32494 2008-04-11  Simon Josefsson  <simon@josefsson.org>
32495
32496         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
32497         of attempting to use non-existing /dev/*random.  Based on patch
32498         from Adam Strzelecki <ono@java.pl> in
32499         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
32500
32501 2008-04-08  Bruno Haible  <bruno@clisp.org>
32502
32503         Add tentative support for emx+gcc.
32504         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
32505         * lib/fpurge.c (fpurge): Likewise.
32506         * lib/freadable.c (freadable): Likewise.
32507         * lib/freadahead.c (freadahead): Likewise.
32508         * lib/freading.c (freading): Likewise.
32509         * lib/freadptr.c (freadptr): Likewise.
32510         * lib/freadseek.c (freadptrinc): Likewise.
32511         * lib/fseeko.c (rpl_fseeko): Likewise.
32512         * lib/fseterr.c (fseterr): Likewise.
32513         * lib/fwritable.c (fwritable): Likewise.
32514         * lib/fwriting.c (fwriting): Likewise.
32515         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
32516
32517 2008-04-09  Eric Blake  <ebb9@byu.net>
32518
32519         Avoid some autoconf warnings.
32520         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
32521         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
32522         * m4/afs.m4 (gl_AFS): Likewise.
32523         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
32524         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
32525         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
32526         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
32527         (gl_INTEGER_TYPE_SUFFIX): Likewise.
32528         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
32529         (AC_CHECK_DECLS_ONCE): Likewise.
32530         Rename file...
32531         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
32532         gnulib-tool requires autoconf 2.59 or better.
32533         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
32534
32535 2008-04-08  Eric Blake  <ebb9@byu.net>
32536
32537         Use 'git describe --match' if present (added in git 1.5.5).
32538         * build-aux/git-version-gen: Limit result to tags that match 'v*'
32539         if possible.
32540
32541 2008-04-08  Bruno Haible  <bruno@clisp.org>
32542
32543         Add tentative support for OpenServer.
32544         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
32545         _ptr, _cnt.
32546         * lib/fpurge.c (fpurge): Likewise.
32547         * lib/freadable.c (freadable): Likewise.
32548         * lib/freadahead.c (freadahead): Likewise.
32549         * lib/freading.c (freading): Likewise.
32550         * lib/freadptr.c (freadptr): Likewise.
32551         * lib/freadseek.c (freadptrinc): Likewise.
32552         * lib/fseeko.c (rpl_fseeko): Likewise.
32553         * lib/fseterr.c (fseterr): Likewise.
32554         * lib/fwritable.c (fwritable): Likewise.
32555         * lib/fwriting.c (fwriting): Likewise.
32556         Reported by Roger Cornelius <rac@tenzing.org> and
32557         Brian K. White <brian@aljex.com>.
32558
32559 2008-04-06  Jim Meyering  <meyering@redhat.com>
32560
32561         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
32562
32563 2008-04-06  Bruno Haible  <bruno@clisp.org>
32564
32565         Avoid possible error with non-ASCII bytes in UTF-8 locales.
32566         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
32567         * tests/test-printf-posix.sh: Likewise.
32568         * tests/test-vfprintf-posix.sh: Likewise.
32569         * tests/test-vprintf-posix.sh: Likewise.
32570         * tests/test-xprintf-posix.sh: Likewise.
32571
32572 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32573
32574         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
32575         hide error from 'ls', needed on OS/2.
32576         Report by Elbert Pol <elbert.pol@gmail.com>.
32577
32578 2008-04-04  Eric Blake  <ebb9@byu.net>
32579
32580         Make test-fseeko.c failures meaningful.
32581         * tests/test-fseeko.c: Print line number on failure.
32582         * tests/test-fseek.c: Likewise.
32583         Reported by Nelson H. F. Beebe.
32584
32585         Improve strtod bug detection check.
32586         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
32587         required for Solaris 10.
32588         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
32589
32590 2008-04-04  Bruno Haible  <bruno@clisp.org>
32591
32592         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
32593         by m4/setenv.m4.
32594
32595 2008-04-03  Eric Blake  <ebb9@byu.net>
32596
32597         Ensure sane .version contents.
32598         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
32599         version string.
32600         * build-aux/git-version-gen: Improve documentation.
32601
32602         Make GNU make output nicer.
32603         * top/GNUmakefile [!_have-Makefile]: Add dependency on
32604         MAKECMDGOALS to enforce message for all command line targets.  Set
32605         srcdir for use in maint.mk.
32606
32607         Another maintainer tweak.
32608         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
32609         a target that regenerates version.
32610
32611 2008-04-03  Jim Meyering  <meyering@redhat.com>
32612
32613         vc-list-files: don't cause coreutils "make po-check" failure
32614         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
32615
32616 2008-04-03  Eric Blake  <ebb9@byu.net>
32617
32618         Allow VPATH usage of vc-list-files.
32619         * build-aux/vc-list-files (scriptversion): Add timestamp.
32620         (options): Add --help, --version, -C.
32621         (CVS): Support installed cvsu.
32622
32623 2008-04-02  Bruno Haible  <bruno@clisp.org>
32624
32625         Avoid some "statement with no effect" warnings from gcc.
32626         * tests/test-wctype.c (main): Explicitly ignore unused values.
32627         Reported by Jim Meyering.
32628
32629 2008-04-02  Jim Meyering  <meyering@redhat.com>
32630
32631         Avoid some warnings from "gcc -Wshadow".
32632         * tests/test-frexp.c (exp): Define to a different identifier.
32633         * tests/test-frexpl.c (exp): Likewise.
32634
32635 2008-04-03  Jim Meyering  <meyering@redhat.com>
32636
32637         bootstrap: remove dangling *.[ch] symlinks from lib
32638         * build-aux/bootstrap [dangling symlink removal]: Move find's
32639         -depth option to precede all others, to avoid a warning.
32640         Remove *.[ch] files too, and from "$source_base" (usually lib/).
32641
32642 2008-04-02  Bruno Haible  <bruno@clisp.org>
32643
32644         Avoid some warnings from "gcc -Wshadow".
32645         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
32646         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
32647         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
32648         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
32649         Reported by Jim Meyering.
32650
32651 2008-04-01  Bruno Haible  <bruno@clisp.org>
32652
32653         Fix test to work on IRIX 6.5 with cc.
32654         * tests/test-math.c (numeric_equal): New function.
32655         (main): Use it.
32656
32657 2008-04-01  Bruno Haible  <bruno@clisp.org>
32658
32659         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
32660
32661 2008-04-01  Bruno Haible  <bruno@clisp.org>
32662
32663         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
32664         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
32665         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
32666         (Depends-on): Remove math.
32667
32668         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
32669         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
32670         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
32671         (Depends-on): Remove math.
32672
32673         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
32674         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
32675         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
32676         (Depends-on): Remove math.
32677         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
32678         (Depends-on): Remove math.
32679
32680         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
32681         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
32682         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
32683         (Depends-on): Remove math.
32684         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
32685         (Depends-on): Remove math.
32686
32687         * tests/test-round1.c: Include nan.h.
32688         (main): Use NaNd instead of NAN.
32689         * modules/round-tests (Files): Add tests/nan.h.
32690
32691         * tests/test-trunc1.c: Include nan.h.
32692         (main): Use NaNd instead of NAN.
32693         * modules/trunc-tests (Files): Add tests/nan.h.
32694
32695         * tests/test-roundf1.c: Include nan.h.
32696         (main): Use NaNf instead of NAN.
32697         * modules/roundf-tests (Files): Add tests/nan.h.
32698
32699         * tests/test-truncf1.c: Include nan.h.
32700         (main): Use NaNf instead of NAN.
32701         * modules/truncf-tests (Files): Add tests/nan.h.
32702
32703         * tests/test-ceilf1.c: Include nan.h.
32704         (main): Use NaNf instead of NAN.
32705         * modules/ceilf-tests (Files): Add tests/nan.h.
32706
32707         * tests/test-floorf1.c: Include nan.h.
32708         (main): Use NaNf instead of NAN.
32709         * modules/floorf-tests (Files): Add tests/nan.h.
32710
32711         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
32712         (main): Use NaNf instead of NAN.
32713         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
32714
32715         * tests/test-isnand.c: Include nan.h instead of <math.h>.
32716         (main): Use NaNd instead of NAN.
32717         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
32718
32719         * tests/test-frexp.c: Include nan.h.
32720         (main): Use NaNd instead of NAN.
32721         * modules/frexp-tests (Files): Add tests/nan.h.
32722
32723         * lib/isnan.c: Don't include <math.h>.
32724         (FUNC): Don't use NAN macro.
32725         * modules/isnand-nolibm (Depends-on): Remove math.
32726         * modules/isnanf-nolibm (Depends-on): Remove math.
32727         * modules/isnanl (Depends-on): Remove math.
32728         * modules/isnanl-nolibm (Depends-on): Remove math.
32729
32730         * tests/nan.h: New file.
32731
32732 2008-04-01  Eric Blake  <ebb9@byu.net>
32733
32734         Fix typos.
32735         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
32736         values to be the right type.
32737
32738         For now, cater to gnulib strtod inaccuracies.
32739         * tests/test-strtod.c (main): Allow 1-ulp error on expected
32740         fractional results.  While not as nice from a QoI perspective, it
32741         is a quicker patch than correctly implementing decimal to binary
32742         rounding.
32743
32744 2008-03-31  Eric Blake  <ebb9@byu.net>
32745
32746         Guarantee a definition of NAN.
32747         * lib/math.in.h (NAN): Define if missing.
32748         * tests/test-math.c (main): Test it.
32749         * doc/posix-headers/math.texi (math.h): Document this.
32750         * lib/isnan.c (rpl_isnand): Use it.
32751         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
32752         * tests/test-floorf1.c (NaN): Likewise.
32753         * tests/test-frexp.c (NaN): Likewise.
32754         * tests/test-isnand.c (NaN): Likewise.
32755         * tests/test-isnanf.c (NaN): Likewise.
32756         * tests/test-round1.c (NaN): Likewise.
32757         * tests/test-roundf1.c (NaN): Likewise.
32758         * tests/test-snprintf-posix.h (NaN): Likewise.
32759         * tests/test-sprintf-posix.h (NaN): Likewise.
32760         * tests/test-trunc1.c (NaN): Likewise.
32761         * tests/test-truncf1.c (NaN): Likewise.
32762         * tests/test-vasnprintf-posix.c (NaN): Likewise.
32763         * tests/test-vasprintf-posix.c (NaN): Likewise.
32764         * modules/isnand-nolibm (Depends-on): Add math.
32765         * modules/isnanf-nolibm (Depends-on): Likewise.
32766         * modules/isnanl (Depends-on): Likewise.
32767         * modules/isnanl-nolibm (Depends-on): Likewise.
32768         * modules/snprintf-posix-tests (Depends-on): Likewise.
32769         * modules/sprintf-posix-tests (Depends-on): Likewise.
32770         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
32771         * modules/vsprintf-posix-tests (Depends-on): Likewise.
32772         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
32773         * modules/vasprintf-posix-tests (Depends-on): Likewise.
32774
32775 2008-03-31  Bruno Haible  <bruno@clisp.org>
32776
32777         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
32778         * doc/posix-functions/strtod.texi: Likewise.
32779
32780 2008-03-31  Bruno Haible  <bruno@clisp.org>
32781
32782         * tests/test-strtod.c (main): Don't use C99 syntax.
32783
32784 2008-03-31  Bruno Haible  <bruno@clisp.org>
32785
32786         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
32787         Reported by Eric Blake.
32788
32789 2008-03-31  Jim Meyering  <meyering@redhat.com>
32790
32791         Don't compare actual signbit return values.
32792         * tests/test-strtod.c (main): Rather, compare only their
32793         zero/non-zero nature.
32794
32795 2008-03-31  Eric Blake  <ebb9@byu.net>
32796
32797         More strtod documentation.
32798         * doc/posix-functions/strtod.texi (strtod): Interpret more test
32799         failures as distinct bugs.
32800
32801 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
32802
32803         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
32804         Problem reported by Erik Benada in
32805         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
32806
32807 2008-03-30  Bruno Haible  <bruno@clisp.org>
32808
32809         * tests/test-strtod.c: Add comments about which assertion fails on which
32810         platform.
32811         * doc/posix-functions/strtod.texi: Add info about many more platforms.
32812
32813 2008-03-30  Eric Blake  <ebb9@byu.net>
32814
32815         Test signbit behavior on zeros.
32816         * tests/test-signbit.c (test_signbitf): Add tests for zero.
32817         (test_signbitd, test_signbitl): Likewise.
32818
32819         More strtod touchups.
32820         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
32821         sign of negative underflow, for now.  Use .5, not .1.
32822         * doc/posix-functions/strtod.texi (strtod): Mention these
32823         limitations.
32824         Reported by Jim Meyering.
32825
32826 2008-03-30  Bruno Haible  <bruno@clisp.org>
32827
32828         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
32829         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
32830
32831 2008-03-30  Bruno Haible  <bruno@clisp.org>
32832
32833         Avoid failure when attempting to return empty iconv results on some
32834         platforms.
32835         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
32836         allocation, don't report ENOMEM when the resulting string is empty.
32837
32838 2008-03-30  Bruno Haible  <bruno@clisp.org>
32839
32840         Fix buffer overrun.
32841         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
32842         Don't consider the width for tmp_length. Check count against tmp_length
32843         before doing the padding. Ensure enough allocation during padding.
32844
32845 2008-03-30  Eric Blake  <ebb9@byu.net>
32846
32847         strtod touchups.
32848         * lib/strtod.c (strtod): Avoid compiler warnings.
32849         Reported by Jim Meyering.
32850
32851 2008-03-30  Bruno Haible  <bruno@clisp.org>
32852
32853         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
32854         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
32855         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
32856         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
32857         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
32858         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
32859         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
32860         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
32861
32862         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
32863         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
32864         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
32865         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
32866         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
32867         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
32868         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
32869         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
32870
32871         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
32872         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
32873         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
32874         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
32875         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
32876         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
32877         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
32878         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
32879
32880         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
32881         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
32882
32883         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
32884         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
32885
32886         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
32887         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
32888
32889         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
32890         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
32891         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
32892
32893         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
32894         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
32895         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
32896
32897         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
32898         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
32899         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
32900
32901         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
32902         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
32903         * modules/vasprintf (Depends-on): Add EOVERFLOW.
32904
32905         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
32906         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
32907         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
32908         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
32909         (Depends-on): Add EOVERFLOW.
32910         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
32911         (Depends-on): Add EOVERFLOW.
32912         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
32913         (Depends-on): Add EOVERFLOW.
32914         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
32915         (Depends-on): Add EOVERFLOW.
32916         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
32917         (Depends-on): Add EOVERFLOW.
32918         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
32919         (Depends-on): Add EOVERFLOW.
32920         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
32921         (Depends-on): Add EOVERFLOW.
32922         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
32923         (Depends-on): Add EOVERFLOW.
32924
32925         * lib/sprintf.c (EOVERFLOW): Remove fallback.
32926         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
32927         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
32928
32929         * lib/snprintf.c (EOVERFLOW): Remove fallback.
32930         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
32931         * modules/snprintf (Depends-on): Add EOVERFLOW.
32932
32933         * lib/poll.c (EOVERFLOW): Remove fallback.
32934         * modules/poll (Depends-on): Add EOVERFLOW.
32935
32936         * lib/getugroups.c (EOVERFLOW): Remove fallback.
32937         * modules/getugroups (Depends-on): Add EOVERFLOW.
32938
32939         * lib/getdelim.c (EOVERFLOW): Remove fallback.
32940         * modules/getdelim (Depends-on): Add EOVERFLOW.
32941
32942         * lib/ftell.c (EOVERFLOW): Remove fallback.
32943         * modules/ftell (Depends-on): Add EOVERFLOW.
32944
32945         * lib/fprintf.c (EOVERFLOW): Remove fallback.
32946         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
32947         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
32948
32949         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
32950
32951         * modules/EOVERFLOW-tests: New file.
32952         * tests/test-EOVERFLOW.c: New file.
32953
32954         * modules/EOVERFLOW: New file.
32955         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
32956
32957 2008-03-30  Bruno Haible  <bruno@clisp.org>
32958
32959         Fix bug introduced on 2007-06-10.
32960         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
32961         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
32962
32963 2008-03-30  Bruno Haible  <bruno@clisp.org>
32964
32965         Improve freadseek's efficiency after ungetc.
32966         * lib/freadseek.c: Include freadahead.h.
32967         (freadptrinc): New function, extracted from freadseek.
32968         (freadseek): Use it in a loop. Use freadahead to determine the number
32969         of loop iterations.
32970         * modules/freadseek (Depends-on): Add freadahead.
32971         (configure.ac): Require AC_C_INLINE.
32972
32973 2008-03-30  Bruno Haible  <bruno@clisp.org>
32974
32975         * lib/freadseek.c (freadseek): Don't ignore the return value of
32976         freadptr.
32977
32978 2008-03-29  Eric Blake  <ebb9@byu.net>
32979
32980         Add hex float support.
32981         * modules/strtod (Depends-on): Add c-ctype.
32982         (Link): Mention POW_LIB.
32983         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
32984         whitespace between 'e' and exponent.
32985         * tests/test-strtod.c (main): Enable hex float tests.
32986         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
32987         now provides.
32988
32989         Document various strtod bugs, with some fixes.
32990         * doc/posix-functions/strtod.texi (strtod): Document bugs with
32991         "-0x", "inf", "nan", and hex constants.
32992         * doc/posix-functions/atof.texi (atof): Likewise.
32993         * modules/stdlib (Makefile.am): Support strtod.
32994         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
32995         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
32996         detect additional strtod bugs.
32997         * lib/stdlib.in.h (rpl_strtod): Add declarations.
32998         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
32999         bool where appropriate.  Parse 'inf' and 'nan'.
33000         * tests/test-strtod.c: New file.
33001         * modules/strtod (Depends-on): Add stdbool, stdlib.
33002         (configure.ac): Turn on module indicator.
33003         * modules/strtod-tests: New module.
33004
33005 2008-03-29  Eric Blake  <ebb9@byu.net>
33006
33007         Fix ftell on mingw.
33008         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
33009         * modules/ftell-tests (Depends-on): Add binary-io.
33010         * modules/ftello-tests (Depends-on): Likewise.
33011         * tests/test-ftell.c (main): Enhance test to cover behavior after
33012         ungetc.  Enforce binary mode.
33013         * tests/test-ftello.c (main): Likewise.
33014
33015         Pass test-freadseek on cygwin.
33016         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
33017         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
33018         ungetc buffer.
33019
33020         * tests/test-fflush2.c (main): Fix typo.
33021
33022 2008-03-29  Bruno Haible  <bruno@clisp.org>
33023
33024         * tests/test-fflush2.c (main): Temporarily disable the contents of
33025         this test.
33026         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
33027         Reported by Eric Blake.
33028
33029 2008-03-28  Simon Josefsson  <simon@josefsson.org>
33030
33031         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
33032         (GC_SHA224_DIGEST_SIZE): Add.
33033
33034         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
33035         (gc_hash_digest_length): Likewise.
33036         (gc_hash_buffer): Likewise.
33037
33038 2008-03-25  Bruno Haible  <bruno@clisp.org>
33039
33040         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
33041         detail which gettext release to use.
33042         Reported by Simon Josefsson.
33043
33044 2008-03-26  Jim Meyering  <meyering@redhat.com>
33045
33046         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
33047         * modules/gnumakefile (clean-GNUmakefile): Also, use
33048         test ... && ... || : syntax rather than if-then ... fi.
33049
33050         gnumakefile: Don't double-quote-expand $(VPATH) value.
33051         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
33052
33053 2008-03-24  Eric Blake  <ebb9@byu.net>
33054
33055         Alter GNUmakefile to install into top directory.
33056         * modules/maintainer-makefile: Split, and add dependency...
33057         * modules/gnumakefile: to this new module.
33058         * build-aux/GNUmakefile: Move...
33059         * top/GNUmakefile: ...here.
33060         * build-aux/maint.mk: Move...
33061         * top/maint.mk: ...here.
33062         * MODULES.html.sh (Support for maintaining...): Document new
33063         module.
33064
33065 2008-03-23  Bruno Haible  <bruno@clisp.org>
33066
33067         * gnulib-tool: New options --vc-files, --no-vc-files.
33068         (func_usage): Document them.
33069         (vc_files): New variable.
33070         (func_import): Consider vc_files.
33071         (func_create_testdir): Set vc_files to empty.
33072         Suggested by Jim Meyering and Karl Berry.
33073
33074 2008-03-23  Bruno Haible  <bruno@clisp.org>
33075
33076         Fix regex compilation error on HP-UX 11.
33077         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
33078         * modules/regex (Files): Add m4/mbstate_t.m4.
33079         Reported by Ton Voon <ton.voon@altinity.com>.
33080
33081 2008-03-23  Bruno Haible  <bruno@clisp.org>
33082
33083         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
33084
33085 2008-03-23  Eric Blake  <ebb9@byu.net>
33086             Bruno Haible  <bruno@clisp.org>
33087
33088         Install files from top/ in the destination directory.
33089         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
33090         augmentation also for the files from top/.
33091         (func_import, func_create_testdir): Rewrite file names:
33092         top/filename -> filename.
33093
33094 2008-03-23  Bruno Haible  <bruno@clisp.org>
33095
33096         Tweak "gnulib --version" output.
33097         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
33098
33099 2008-03-23  Bruno Haible  <bruno@clisp.org>
33100
33101         Tweak "gnulib --version" output.
33102         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
33103         rather than contents of ChangeLog, when possible.
33104
33105 2008-03-21  Eric Blake  <ebb9@byu.net>
33106
33107         More --version tweaks.
33108         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
33109         date of last ChangeLog entry.
33110
33111 2008-03-21  Jim Meyering  <meyering@redhat.com>
33112
33113         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
33114
33115 2008-03-20  Eric Blake  <ebb9@byu.net>
33116
33117         VPATH fix.
33118         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
33119
33120 2008-03-20  Simon Josefsson  <simon@josefsson.org>
33121
33122         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
33123         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
33124
33125 2008-03-20  Eric Blake  <ebb9@byu.net>
33126
33127         Sync GNUmakefile with coreutils.
33128         * build-aux/GNUmakefile (have-Makefile): Rename...
33129         (_have-Makefile): ...to this, for namespace consideration.
33130         (GNUmakefile.cfg): Include, if present.
33131         (_autoreconf): Define a default.
33132         (_is-dist-target): New rule for rebuilds to pick up intra-release
33133         version.
33134         (maint-cfg.mk): Rename...
33135         (cfg.mk): ...to this.
33136
33137 2008-03-18  Jim Meyering  <meyering@redhat.com>
33138
33139         New script and module: mktempd
33140         * MODULES.html.sh (maint+release support): Add mktempd.
33141         * build-aux/mktempd: New file.
33142         * modules/mktempd: New file.
33143
33144 2008-03-15  Jim Meyering  <meyering@redhat.com>
33145
33146         Undo last change.
33147         * lib/sha1.c, lib/md5.c: 63 != ~63.
33148         Reported by Andreas Schwab.
33149
33150         sha1.c, md5.c: Hoist a redundant expression.
33151         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
33152         "ctx->buflen" only once, before calling *_process_block.
33153         * lib/md5.c (md5_process_bytes): Likewise.
33154
33155 2008-03-14  Eric Blake  <ebb9@byu.net>
33156
33157         Bump copyright year in files generated by gnulib-tool.
33158         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
33159         gnulib-tool, rather than hard-coding it.
33160
33161         Fix 'gnulib-tool --version' output to work with git.
33162         * gnulib-tool (func_gnulib_dir): New function, extracted from...
33163         (startup): ...here.
33164         (func_version): Use it to invoke git-version-gen, rather than
33165         relying on CVS keyword expansion.  Modernize wording.
33166         (cvsdatestamp, last_checkin_date, version): Kill unused
33167         variables.
33168
33169 2008-03-12  Jim Meyering  <meyering@redhat.com>
33170
33171         Recognize optional cast of the argument to free.
33172         * build-aux/useless-if-before-free: Update regexps.
33173
33174         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
33175
33176 2008-03-11  Bruno Haible  <bruno@clisp.org>
33177
33178         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
33179         by a single package.
33180         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
33181         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
33182         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
33183         Reported by Sam Steingold <sds@gnu.org>.
33184
33185 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
33186
33187         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
33188         repositories.
33189
33190 2008-03-11  Bruno Haible  <bruno@clisp.org>
33191
33192         Avoid conflicts between local macro definitions.
33193         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
33194         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
33195
33196 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
33197             Bruno Haible  <bruno@clisp.org>
33198
33199         Make va_copy work with some version of xlc on AIX 5.1.
33200         * lib/stdarg.in.h: New file.
33201         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
33202         On AIX, use a <stdarg.h> file substitute.
33203         * modules/stdarg (Files): Add lib/stdarg.in.h.
33204         (Depends-on): Add include_next.
33205         (Makefile.am): Build a stdarg.h substitute if requested.
33206         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
33207
33208 2008-03-10  Bruno Haible  <bruno@clisp.org>
33209
33210         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
33211         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
33212         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
33213
33214 2008-03-10  Bruno Haible  <bruno@clisp.org>
33215
33216         * modules/stdlib (Depends-on): Add include_next, remove
33217         absolute-header.
33218
33219 2008-03-09  Bruno Haible  <bruno@clisp.org>
33220
33221         * lib/freadahead.h (freadahead): Document more precisely.
33222         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
33223         the sum of both buffer sizes.
33224         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
33225         * NEWS: Document the change.
33226
33227 2008-03-09  Bruno Haible  <bruno@clisp.org>
33228
33229         Extend freadptr to return also the buffer size.
33230         * lib/freadptr.h (freadptr): Add sizep argument.
33231         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
33232         (freadptr): Add sizep argument. Determine buffer size like freadahead
33233         does.
33234         * tests/test-freadptr.c: Don't include freadahead.h.
33235         (main): Adapt for new calling convention of freadptr.
33236         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
33237         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
33238         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
33239         tests/test-freadptr2.sh.
33240         (Depends): Remove freadahead.
33241         (TESTS): Add test-freadptr2.sh.
33242         (check_PROGRAMS): Add test-freadptr2.
33243
33244 2008-03-09  Bruno Haible  <bruno@clisp.org>
33245
33246         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
33247         Report and solution by Simon Josefsson.
33248
33249 2008-03-06  Bruno Haible  <bruno@clisp.org>
33250
33251         Make fflush after ungetc work on BSD platforms.
33252         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
33253         * tests/test-fflush2.c: New file.
33254         * tests/test-fflush2.sh: New file.
33255         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
33256         tests/test-fflush2.c.
33257         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
33258         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
33259
33260 2008-03-06  Eric Blake  <ebb9@byu.net>
33261
33262         Likewise for ftello.
33263         * modules/ftello (Dependencies): Add extensions.
33264         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
33265
33266 2008-03-06  Bruno Haible  <bruno@clisp.org>
33267
33268         * modules/fseeko (Dependencies): Add extensions.
33269         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
33270         Needed on glibc systems.
33271
33272 2008-03-06  Bruno Haible  <bruno@clisp.org>
33273
33274         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
33275         email address.
33276         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
33277
33278 2008-03-06  Bruno Haible  <bruno@clisp.org>
33279
33280         * users.txt: Add libgnupdf.
33281
33282 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
33283
33284         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
33285         (Header File Substitutes, Function Substitutes,
33286         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
33287         (Build robot for gnulib): Fix typo.
33288
33289 2008-03-06  Bruno Haible  <bruno@clisp.org>
33290
33291         * doc/gnulib-tool.texi (VCS Issues): Small updates.
33292         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
33293
33294 2008-03-06  Bruno Haible  <bruno@clisp.org>
33295
33296         * doc/func.texi: New file, extracted from doc/gnulib.texi.
33297         * doc/gnulib.texi: Include it.
33298
33299 2008-03-06  Simon Josefsson  <simon@josefsson.org>
33300
33301         * modules/func (License): Change license to unlimited; there was
33302         no LGPL parts in the module anyway.
33303
33304 2008-03-06  Simon Josefsson  <simon@josefsson.org>
33305
33306         * modules/__func__: Renamed to modules/func.
33307         * modules/__func__-tests: Renamed to modules/func-tests.
33308         * tests/test-__func__.c: Renamed to tests/test-func.c.
33309         * m4/__func__.m4: Renamed to m4/func.m4.
33310         * doc/gnulib.texi (__func__): Section renamed to func.
33311         Suggested by Eric Blake <ebb9@byu.net>.
33312
33313 2008-03-06  Simon Josefsson  <simon@josefsson.org>
33314
33315         * doc/gnulib.texi (__func__): Use C99 terminology when talking
33316         about __func__.  Make example self-contained.  Suggested by Eric
33317         Blake <ebb9@byu.net>.
33318
33319         * tests/test-__func__.c (main): Avoid extraneous () around __func.
33320         Suggested by Eric Blake <ebb9@byu.net>.
33321
33322 2008-03-06  Simon Josefsson  <simon@josefsson.org>
33323
33324         * modules/__func__: New file.
33325         * modules/__func__-tests: New file.
33326         * tests/test-__func__.c: New file.
33327         * m4/__func__.m4: New file.
33328         * doc/gnulib.texi (__func__): Document __func__ module.
33329
33330 2008-03-05  Simon Josefsson  <simon@josefsson.org>
33331
33332         * modules/byteswap (License): Re-license as LGPLv2+.
33333
33334 2008-03-05  Simon Josefsson  <simon@josefsson.org>
33335
33336         * doc/Makefile: Add pdf target.
33337
33338 2008-03-05  Simon Josefsson  <simon@josefsson.org>
33339
33340         * modules/inline (License): Use 'unlimited', since there are only
33341         *.m4 files in this module.
33342
33343 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
33344             Bruno Haible  <bruno@clisp.org>
33345
33346         Add support for HP C 7.1 on OpenVMS 8.3.
33347         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
33348
33349 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
33350
33351         Update VMS specifics.
33352         * lib/getopt.c [VMS]: Remove include of unixlib.h.
33353
33354 2008-03-02  Jim Meyering  <meyering@redhat.com>
33355
33356         Remove the last dependency on the "free" module.
33357         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
33358         Reported by Bob Proulx.
33359
33360         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
33361
33362         Remove useless "if" tests before free.  Deprecate "free" module.
33363         * doc/posix-functions/free.texi: Mention that this
33364         module is no longer useful.
33365         * modules/free (Notice): Say this module is obsolete.
33366         * modules/readutmp (Depends-on): Remove free.
33367         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
33368         * lib/putenv.c (putenv): Likewise.
33369         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
33370         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
33371         * tests/test-c-strcasestr.c (main): Likewise.
33372         * tests/test-c-strstr.c (main): Likewise.
33373         * tests/test-mbscasestr1.c (main): Likewise.
33374         * tests/test-mbscasestr2.c (main): Likewise.
33375         * tests/test-mbsstr1.c (main): Likewise.
33376         * tests/test-mbsstr2.c (main): Likewise.
33377         * tests/test-memmem.c (main): Likewise.
33378         * tests/test-strcasestr.c (main): Likewise.
33379         * tests/test-striconv.c (main): Likewise.
33380         * tests/test-striconveh.c (main): Likewise.
33381         * tests/test-striconveha.c (main): Likewise.
33382         * tests/test-strstr.c (main): Likewise.
33383
33384         * build-aux/git-version-gen: Adjust a comment and the Usage string.
33385
33386         bootstrap: sync from coreutils again
33387         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
33388
33389 2008-03-01  Jim Meyering  <meyering@redhat.com>
33390
33391         bootstrap: sync from coreutils
33392         * build-aux/bootstrap (update_po_files): Copy a .po file into place
33393         also when the target doesn't exist.
33394
33395 2008-03-01  Eric Blake  <ebb9@byu.net>
33396
33397         Fix bugs in last patch.
33398         * lib/memchr2.c (memchr2): Fix typo.
33399         * tests/test-memchr2.c: Test previous bug, and don't use GNU
33400         extension.
33401         Reported by Bruce Korb.
33402
33403         New module 'memchr2'.
33404         * modules/memchr2: New file.
33405         * modules/memchr2-tests: Likewise.
33406         * lib/memchr2.h: Likewise.
33407         * lib/memchr2.c: Likewise, based on memchr.c.
33408         * tests/test-memchr2.c: New test.
33409         * MODULES.html.sh (String handling): Add memchr2.
33410
33411 2008-02-29  Bruno Haible  <bruno@clisp.org>
33412
33413         * modules/freadseek-tests: New file.
33414         * tests/test-freadseek.sh: New file.
33415         * tests/test-freadseek.c: New file.
33416
33417         New module 'freadseek'.
33418         * modules/freadseek: New file.
33419         * lib/freadseek.h: New file.
33420         * lib/freadseek.c: New file.
33421         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
33422
33423 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
33424
33425         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
33426         wydawca.
33427
33428         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
33429         program_invocation_name and program_invocation_short_name are
33430         present.
33431
33432 2008-02-28  Bruno Haible  <bruno@clisp.org>
33433
33434         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
33435         * tests/test-freadptr.sh: Also test non-seekable stdin.
33436
33437 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
33438
33439         * build-aux/bootstrap (source_base, m4_base)
33440         (doc_base, tests_base): New variables.
33441         (gnulib_tool_options): Do not hardcode base directories, use
33442         the above variables instead.
33443
33444 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
33445
33446         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
33447
33448 2008-02-28  Bruno Haible  <bruno@clisp.org>
33449
33450         * modules/freadptr-tests: New file.
33451         * tests/test-freadptr.sh: New file.
33452         * tests/test-freadptr.c: New file.
33453
33454         New module 'freadptr'.
33455         * modules/freadptr: New file.
33456         * lib/freadptr.h: New file.
33457         * lib/freadptr.c: New file.
33458         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
33459
33460 2008-02-26  Karl Berry  <karl@freefriends.org>
33461
33462         Sync from Libtool:
33463         * libltdl/argz.c (argz_add, argz_count): New functions.
33464         * libltdl/argz.in.h: Declare them.
33465         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
33466
33467 2008-02-22  Bruno Haible  <bruno@clisp.org>
33468
33469         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
33470         is a pointer type.  Needed for HP-UX 10.
33471         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
33472         * doc/posix-functions/gmtime_r.texi: Likewise.
33473         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
33474
33475 2008-02-24  Bruno Haible  <bruno@clisp.org>
33476
33477         * modules/environ-tests: New file.
33478         * tests/test-environ.c: New file.
33479
33480         New module 'environ'.
33481         * modules/environ: New file.
33482         * lib/unistd.in.h (environ): New declaration.
33483         * m4/environ.m4: New file.
33484         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
33485         after use.
33486         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
33487         HAVE_DECL_ENVIRON.
33488         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
33489         HAVE_DECL_ENVIRON.
33490         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
33491         wrong claim that 'environ' is missing on some systems.
33492         * modules/execute (Depends-on): Add environ.
33493         * lib/execute.c (environ): Remove fallback declaration.
33494         * modules/pipe (Depends-on): Add environ.
33495         * lib/pipe.c (environ): Remove fallback declaration.
33496         * modules/setenv (Depends-on): Add environ.
33497         * lib/setenv.c (environ): Remove fallback declaration.
33498         * modules/unsetenv (Depends-on): Add environ.
33499         * lib/unsetenv.c (environ): Remove fallback declaration.
33500         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
33501         m4/environ.m4.
33502         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
33503         (gl_PREREQ_UNSETENV): Likewise.
33504
33505 2008-02-24  Bruno Haible  <bruno@clisp.org>
33506
33507         * doc/posix-functions/environ.texi: Document the MacOS X problem.
33508
33509 2008-02-20  Bob Proulx  <bob@proulx.com>
33510
33511         Enable use of older two part flavor 'git describe'.
33512         * build-aux/git-version-gen: If using the older two part flavor of
33513         git version then recreate the third part now present in the
33514         newer three part flavor of git describe.
33515
33516 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
33517
33518         * lib/fts.c (fts_build): Typo correction to comment.
33519
33520 2008-02-17  Bruno Haible  <bruno@clisp.org>
33521
33522         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
33523         generating no-op conflicts.
33524
33525 2008-02-17  Bruno Haible  <bruno@clisp.org>
33526
33527         Speed up by 10%.
33528         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
33529         result_entries, rather than an index-based loop.
33530
33531 2008-02-17  Bruno Haible  <bruno@clisp.org>
33532
33533         Speed up by 25%.
33534         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
33535         'hashcode_cached'.
33536         (entry_create): New function.
33537         (entry_hashcode): Use the cached hashcode if possible.
33538         (read_changelog_file, try_split_merged_entry): Use entry_create.
33539
33540 2008-02-17  Bruno Haible  <bruno@clisp.org>
33541
33542         Speed up from O(n^2) to O(n) for long ChangeLog files.
33543         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
33544         (read_changelog_file): Change implementation of entries_reversed list
33545         to rbtreehash.
33546         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
33547
33548 2008-02-17  Bruno Haible  <bruno@clisp.org>
33549
33550         New option --split-merged-entry.
33551         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
33552         (find_paragraph_end, try_split_merged_entry): New functions.
33553         (long_options): Add option --split-merged-entry.
33554         (usage): Document option --split-merged-entry.
33555         (main): Implement option --split-merged-entry.
33556         Reported by Eric Blake.
33557
33558 2008-02-17  Bruno Haible  <bruno@clisp.org>
33559
33560         * lib/git-merge-changelog.c: Include c-strstr.h.
33561         (main): Support the "git pull --rebase" situation.
33562         * modules/git-merge-changelog (Depends-on): Add c-strstr.
33563         Reported by Eric Blake.
33564
33565 2008-02-16  Eric Blake  <ebb9@byu.net>
33566
33567         Avoid doubling \ in common case of "c-maybe" quoting style.
33568         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
33569         eliding outer quotes.
33570         * lib/quotearg.h: Document this.
33571         * tests/test-quotearg.c (result_strings, inputs, results_g)
33572         (flag_results, locale_results): Test it by adding a new string to
33573         each test group.
33574         (compare_strings): Test new string.
33575
33576 2008-02-13  Eric Blake  <ebb9@byu.net>
33577
33578         Avoid trigraph quoting in default output.
33579         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
33580         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
33581         unless explicitly requested.
33582         * tests/test-quotearg.c (flag_results, main): Add additional tests.
33583
33584 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
33585
33586         Don't rely on signed integer overflowing to negative value.
33587         * lib/getugroups.c (getugroups): Include <limits.h>.
33588         Instead, compare against INT_MAX, and increment only if the test passes.
33589
33590 2008-02-13  Jim Meyering  <meyering@redhat.com>
33591         and Eric Blake  <ebb9@byu.net>
33592
33593         Avoid shadowing warning and compile errors on Linux.
33594         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
33595         forwarding macros on Linux.
33596         (dcgettext): Define a stub, for Linux.
33597         (results_g, main): Avoid warnings.
33598
33599 2008-02-12  Eric Blake  <ebb9@byu.net>
33600
33601         Silence warning in last patch.
33602         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
33603
33604         Quotearg part 4: add tests, fix c-maybe colon quoting.
33605         * lib/quotearg.h: Improve documentation.
33606         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
33607         escapes when adding outer quotes.  When quoting trigraphs, use
33608         valid C notation.  When quoting NUL, omit extra characters if next
33609         character is not digit.  Alter prototype.
33610         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
33611         callers.
33612         * modules/quotearg-tests: New module.
33613         * tests/test-quotearg.c: New test.
33614
33615 2008-02-07  Eric Blake  <ebb9@byu.net>
33616
33617         Quotearg part 3: add flag to control outer quote elision.
33618         * lib/quotearg.h (c_maybe_quoting_style): New style.
33619         (enum quoting_flags): Better documentation of flags.
33620         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
33621         c-maybe style.
33622         (quotearg_buffer_restyled): Handle new flag to elide outer
33623         quotes.
33624
33625         Quotearg part 2: add flag that can control NUL elision.
33626         * lib/quotearg.h (set_quoting_flags): New prototype.
33627         * lib/quotearg.c (struct quoting_options): Add flag field.
33628         (set_quoting_flags): New function.
33629         (quotearg_buffer_restyled): Add flags parameter.
33630         (quotearg_alloc_mem): Set the flag if length cannot be returned.
33631         (quotearg_n_options): Set the flag, since length cannot be
33632         returned.
33633         (quoting_options_from_style): Default flags correctly.
33634
33635         Quotearg part 1: more wrappers, restore quotearg_char state.
33636         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
33637         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
33638         (quotearg_colon_mem): New wrappers.
33639         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
33640         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
33641         functions.
33642         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
33643         (quotearg_colon_mem): New functions.
33644
33645 2008-02-11  Bruno Haible  <bruno@clisp.org>
33646
33647         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
33648         library in the current directory: it does not work with parallel make.
33649         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
33650
33651 2008-02-11  Bruno Haible  <bruno@clisp.org>
33652
33653         * .gitattributes: New file.
33654
33655 2008-02-11  Jim Meyering  <meyering@redhat.com>
33656
33657         useless-if-before-free: Fix reversed exit values.
33658         * build-aux/useless-if-before-free: Use correct values
33659         for EXIT_MATCH and EXIT_NO_MATCH.
33660
33661         * build-aux/useless-if-before-free: Close stdout carefully.
33662
33663 2008-02-10  Bruno Haible  <bruno@clisp.org>
33664
33665         New module 'git-merge-changelog'.
33666         * modules/git-merge-changelog: New file.
33667         * lib/git-merge-changelog.c: New file.
33668
33669 2008-02-10  Jim Meyering  <meyering@redhat.com>
33670
33671         useless-if-before-free: New option: --list (-l).
33672
33673         useless-if-before-free: Don't exit immediately upon open failure.
33674         * build-aux/useless-if-before-free: Exit 2 for errors.
33675         Upon failure to open a file, don't exit immediately.
33676         Rather, just warn and continue with any remaining files.
33677
33678 2008-02-10  Bruno Haible  <bruno@clisp.org>
33679
33680         New abstract list operation 'node_set_value'.
33681         * lib/gl_list.h (gl_list_node_set_value): New function.
33682         (struct gl_list_implementation): New field node_set_value.
33683         * lib/gl_list.c (gl_list_node_set_value): New function.
33684         * lib/gl_array_list.c (gl_array_node_set_value): New function.
33685         (gl_array_list_implementation): Update.
33686         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
33687         (gl_carray_list_implementation): Update.
33688         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
33689         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
33690         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
33691         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
33692         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
33693         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
33694         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
33695         Update.
33696         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
33697         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
33698         (gl_sublist_list_implementation): Update.
33699
33700 2008-02-10  Bruno Haible  <bruno@clisp.org>
33701
33702         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
33703         Needed when ELEMENT is #defined to 'some_type *'.
33704
33705 2008-02-10  Jim Meyering  <meyering@redhat.com>
33706
33707         New script and module: useless-if-before-free
33708         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
33709         * build-aux/useless-if-before-free: New file.
33710         * modules/useless-if-before-free: New file.
33711
33712         * build-aux/gitlog-to-changelog: Use committer date, not author date.
33713
33714         xstrtol_error: Fix typo.
33715         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
33716         s/exit_failure/exit_status/.
33717
33718 2008-02-09  Jim Meyering  <meyering@redhat.com>
33719
33720         New script and module: gitlog-to-changelog
33721         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
33722         * modules/gitlog-to-changelog: New file.
33723         * build-aux/gitlog-to-changelog: New file.
33724
33725 2008-02-08  Jim Meyering  <meyering@redhat.com>
33726
33727         Avoid two "parameter unused" warnings.
33728         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
33729         Mark "st" as used.
33730
33731         Use "git COMMAND", not "git-COMMAND".
33732         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
33733         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
33734         * build-aux/git-version-gen: Use "git status", not "git-status".
33735
33736 2008-02-07  Bruno Haible  <bruno@clisp.org>
33737
33738         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
33739         Avoids a crash on Windows Vista.
33740         Reported by Adam Strzelecki <ono@java.pl> via
33741         Simon Josefsson <simon@josefsson.org>.
33742
33743 2008-02-06  Bruno Haible  <bruno@clisp.org>
33744
33745         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
33746         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
33747         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
33748         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
33749         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
33750         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
33751         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
33752         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
33753         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
33754         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
33755         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
33756         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
33757         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
33758         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
33759         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
33760         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
33761         left-adjust flag.
33762         * tests/test-snprintf-posix.h (test_function): Likewise.
33763         * tests/test-sprintf-posix.h (test_function): Likewise.
33764         * tests/test-vasprintf-posix.c (test_function): Likewise.
33765         * doc/posix-functions/fprintf.texi: Update.
33766         * doc/posix-functions/printf.texi: Update.
33767         * doc/posix-functions/snprintf.texi: Update.
33768         * doc/posix-functions/sprintf.texi: Update.
33769         * doc/posix-functions/vfprintf.texi: Update.
33770         * doc/posix-functions/vprintf.texi: Update.
33771         * doc/posix-functions/vsnprintf.texi: Update.
33772         * doc/posix-functions/vsprintf.texi: Update.
33773         Reported by Peter Fales <psfales@alcatel-lucent.com>.
33774
33775 2008-02-06  Bruno Haible  <bruno@clisp.org>
33776
33777         Fix bug introduced on 2008-01-26.
33778         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
33779
33780 2008-02-06  Bruno Haible  <bruno@clisp.org>
33781
33782         Fix bug introduced on 2007-06-10.
33783         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
33784         !NEED_PRINTF_FLAG_ZERO.
33785
33786 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
33787
33788         getloadavg: use libperfstat on AIX5
33789         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
33790
33791 2008-02-03  Bruno Haible  <bruno@clisp.org>
33792
33793         * lib/diffseq.h: Add comments about required #includes.
33794         Reported by Michael Biggs <gnulib@doubleplum.net>.
33795
33796 2008-02-01  Bruno Haible  <bruno@clisp.org>
33797
33798         * users.txt: Add gnuit.
33799
33800 2008-01-31  Bruno Haible  <bruno@clisp.org>
33801
33802         * lib/md4.c (set_uint32): Mark as inline.
33803         * lib/md5.c (set_uint32): Likewise.
33804         * lib/sha1.c (set_uint32): Likewise.
33805         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
33806         * m4/md5.m4 (gl_MD5): Likewise.
33807         * m4/sha1.m4 (gl_SHA1): Likewise.
33808
33809 2008-01-31  Jim Meyering  <meyering@redhat.com>
33810
33811         Use "sizeof VAR", rather than a literal "4".
33812         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
33813         * lib/md4.c (md4_read_ctx): Likewise.
33814         * lib/sha1.c (sha1_read_ctx): Likewise.
33815
33816 2008-01-31  Simon Josefsson  <simon@josefsson.org>
33817
33818         * tests/test-sha1.c: New file, based on test-md5.c.
33819
33820         * modules/crypto/sha1-tests: New file.
33821
33822 2008-01-31  Simon Josefsson  <simon@josefsson.org>
33823
33824         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
33825
33826 2008-01-31  Jim Meyering  <meyering@redhat.com>
33827
33828         Prefer "sizeof v" over the equivalent "4".
33829         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
33830         * lib/md5.c (set_uint32): Likewise.
33831         * lib/sha1.c (set_uint32): Likewise.
33832
33833 2008-01-31  Simon Josefsson  <simon@josefsson.org>
33834
33835         * lib/sha1.c (set_uint32): Mark function as static.
33836
33837 2008-01-31  Simon Josefsson  <simon@josefsson.org>
33838
33839         md2: clarify comments to say that alignment is not required.
33840         * lib/md2.h: Remove warning about alignment in comment.
33841         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
33842         never been required.
33843
33844 2008-01-31  Simon Josefsson  <simon@josefsson.org>
33845
33846         md4: adapt alignment constraint fix from sha1.
33847         * lib/md4.c (set_uint32): New function, from sha1.c
33848         (md4_read_ctx): Use it.
33849         (md4_finish_ctx): Doc fix.
33850         * lib/md4.h: Doc fix.
33851
33852 2008-01-31  Simon Josefsson  <simon@josefsson.org>
33853
33854         md5: adapt alignment constraint fix from sha1.
33855         * lib/md5.c (set_uint32): New function, from sha1.c
33856         (md5_read_ctx): Use it.
33857         (md5_finish_ctx): Doc fix.
33858         * lib/md5.h: Doc fix.
33859
33860 2008-01-30  Peter Palfrader  <weasel@debian.org>
33861
33862         sha1: remove the result buffer alignment constraint
33863         * lib/sha1.c (set_uint32): New function.
33864         (sha1_read_ctx): Rewrite to remove the result buffer alignment
33865         constraint.
33866         (sha1_finish_ctx): Remove comment warning about alignment constraint.
33867         * lib/sha1.h: Likewise.
33868
33869 2008-01-30  Andreas Schwab  <schwab@suse.de>
33870             Bruno Haible  <bruno@clisp.org>
33871
33872         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
33873         correct definition of LDBL_MIN_EXP.
33874
33875 2008-01-30  Karl Berry  <karl@gnu.org>
33876
33877         * config/srclist-update: try to preserve x bit on updates.
33878         * config/srclistvars.sh: update for karl.
33879
33880 2008-01-29  Jim Meyering  <meyering@redhat.com>
33881
33882         vasnprintf.c: Avoid warning about unused label
33883         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
33884         "overflow" label definition and associated code with the
33885         same cpp condition that guards the sole use of that label.
33886
33887 2008-01-26  Bruno Haible  <bruno@clisp.org>
33888
33889         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
33890         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
33891         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
33892         * lib/isnanl-nolibm.h (isnanl): Likewise.
33893         Reported by Paul Eggert <eggert@cs.ucla.edu>.
33894
33895 2008-01-26  Bruno Haible  <bruno@clisp.org>
33896
33897         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
33898         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
33899
33900 2008-01-26  Bruno Haible  <bruno@clisp.org>
33901
33902         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
33903         GCC >= 4.0 built-in.
33904         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
33905
33906 2008-01-26  Bruno Haible  <bruno@clisp.org>
33907
33908         Rename isnan, applicable to 'double' only, to isnand.
33909         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
33910         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
33911         (configure.ac): Update.
33912         (Include): Replace "isnan.h" with "isnand.h".
33913         * m4/isnand.m4: Renamed from m4/isnan.m4.
33914         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
33915         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
33916         instead of isnan.c.
33917         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
33918         instead of HAVE_ISNAN_IN_LIBC.
33919         (isnand): Renamed from isnan.
33920         * lib/isnand.c: New file.
33921         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
33922         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
33923         (Makefile.am): Update.
33924         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
33925         Include isnand.h instead of isnan.h.
33926         (main): Test isnand instead of isnan.
33927         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
33928         isnan-nolibm.
33929         * modules/frexp (Depends-on): Likewise.
33930         * modules/frexp-tests (Depends-on): Likewise.
33931         * modules/frexp-nolibm (Depends-on): Likewise.
33932         * modules/frexp-nolibm-tests (Depends-on): Likewise.
33933         * modules/isfinite (Depends-on): Likewise.
33934         * modules/round-tests (Depends-on): Likewise.
33935         * modules/signbit (Depends-on): Likewise.
33936         * modules/signbit-tests (Depends-on): Likewise.
33937         * modules/snprintf-posix (Depends-on): Likewise.
33938         * modules/sprintf-posix (Depends-on): Likewise.
33939         * modules/trunc-tests (Depends-on): Likewise.
33940         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
33941         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
33942         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
33943         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
33944         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
33945         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
33946         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
33947         * modules/vasnprintf-posix (Depends-on): Likewise.
33948         * modules/vasprintf-posix (Depends-on): Likewise.
33949         * modules/vfprintf-posix (Depends-on): Likewise.
33950         * modules/vsnprintf-posix (Depends-on): Likewise.
33951         * modules/vsprintf-posix (Depends-on): Likewise.
33952         * lib/frexp.c: Include isnand.h instead of isnan.h.
33953         (ISNAN): Set to isnand instead of isnan.
33954         * lib/isfinite.c: Include isnand.h instead of isnan.h.
33955         (gl_isfinited): Use isnand instead of isnan.
33956         * lib/signbitd.c: Include isnand.h instead of isnan.h.
33957         (gl_signbitd): Use isnand instead of isnan.
33958         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
33959         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
33960         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
33961         (main): Use isnand instead of isnan.
33962         * tests/test-round1.c: Include isnand.h.
33963         (main): Use isnand instead of isnan.
33964         * tests/test-round2.c: Include isnand.h instead of isnan.h.
33965         (ISNAN): Set to isnand instead of isnan.
33966         * tests/test-trunc1.c: Include isnand.h.
33967         (main): Use isnand instead of isnan.
33968         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
33969         (equal): Use isnand instead of isnan.
33970         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
33971         isnand-nolibm.
33972         * NEWS: Mention the change.
33973
33974 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
33975             Bruno Haible  <bruno@clisp.org>
33976
33977         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
33978         the GCC builtins for signbits are present and set
33979         REPLACE_SIGNBIT_USING_GCC if so.
33980         * lib/math.in.h (signbit): Define using GCC builtins if
33981         REPLACE_SIGNBIT_USING_GCC is set.
33982         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
33983         REPLACE_SIGNBIT_USING_GCC.
33984         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
33985
33986 2008-01-25  Jim Meyering  <meyering@redhat.com>
33987
33988         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
33989         * lib/poll.c: Include <config.h>, not "config.h".
33990         * tests/test-getaddrinfo.c: Likewise.
33991
33992 2008-01-25  Simon Josefsson  <simon@josefsson.org>
33993
33994         * modules/sockets-tests: New file.
33995
33996 2008-01-24  Simon Josefsson  <simon@josefsson.org>
33997
33998         * modules/sockets: New module, can be used to call WSA_Startup and
33999         WSA_Cleanup when needed.
34000
34001         * lib/sockets.h, lib/sockets.c: New files.
34002
34003         * m4/sockets.m4: New file.
34004
34005         * tests/test-sockets.c: New file.
34006
34007 2008-01-19  Bruno Haible  <bruno@clisp.org>
34008
34009         * doc/posix-headers: Renamed from doc/headers.
34010         * doc/posix-functions: Renamed from doc/functions.
34011         * doc/gnulib.texi: Update.
34012
34013 2008-01-19  Bruno Haible  <bruno@clisp.org>
34014
34015         * doc/glibc-functions/strcasestr.texi: Include contents of
34016         doc/functions/strcasestr.texi, fixing the list of platforms.
34017         * doc/functions/strcasestr.texi: Remove file.
34018
34019 2008-01-19  Bruno Haible  <bruno@clisp.org>
34020
34021         * doc/glibc-functions/memmem.texi: Include contents of
34022         doc/functions/memmem.texi.
34023         * doc/functions/memmem.texi: Remove file.
34024
34025 2008-01-18  Bruno Haible  <bruno@clisp.org>
34026
34027         * doc/glibc-functions/*.texi: New files.
34028         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
34029         to use the new files.
34030
34031 2008-01-17  Bruno Haible  <bruno@clisp.org>
34032
34033         * tests/test-gethostname.c (main): Fix printf statement.
34034
34035 2008-01-17  Simon Josefsson  <simon@josefsson.org>
34036
34037         * modules/gethostname-tests: New file.
34038
34039         * tests/test-gethostname.c: New file.
34040
34041 2008-01-17  Simon Josefsson  <simon@josefsson.org>
34042
34043         * lib/gethostname.c: Include string.h unconditionally, strncpy is
34044         used by the UNAME case.  Reported by Bruno Haible
34045         <bruno@clisp.org>.
34046
34047 2008-01-17  Eric Blake  <ebb9@byu.net>
34048
34049         Convert c-strcasestr to be more efficient.
34050         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
34051         (Depends-on): Add c-strcase, remove malloca, strnlen.
34052         * tests/test-c-strcasestr.c (main): Enhance test.
34053         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
34054
34055 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
34056
34057         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
34058         Use it in creating po/Makevars.
34059
34060 2008-01-15  Simon Josefsson  <simon@josefsson.org>
34061
34062         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
34063         Applications that requires it should initialize libgcrypt
34064         manually.
34065
34066 2008-01-16  Simon Josefsson  <simon@josefsson.org>
34067
34068         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
34069
34070 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
34071
34072         Fix problem with getdate on mingw32 reported by Simon Josefsson
34073         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
34074         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
34075         tzname", when deciding whether to declare tzname.
34076         * lib/strftime.c (tzname): Likewise.
34077
34078 2008-01-15  Bruno Haible  <bruno@clisp.org>
34079
34080         Work around a MacOS X 10.5 bug in frexpl().
34081         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
34082         * doc/functions/frexpl.texi: Document the bug.
34083         Reported by Elias Pipping <pipping@gentoo.org>.
34084
34085 2008-01-14  Eric Blake  <ebb9@byu.net>
34086
34087         Touch up previous patch.
34088         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
34089         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
34090
34091         Convert strcasestr module to use Two-Way algorithm.
34092         * modules/strcasestr-simple: New module, based on the old
34093         strcasestr, but with Two-Way rather than KMP.
34094         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
34095         * lib/string.in.h (rpl_strcasestr): Declare.
34096         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
34097         performance.
34098         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
34099         * modules/string (Makefile.am): Support strcasestr.
34100         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
34101         * modules/strcasestr-tests (Depends-on): Check for alarm.
34102         * tests/test-strcasestr.c: Augment test.
34103         * lib/str-two-way.h: Clean up stray macro.
34104         * NEWS: Document new module.
34105         * MODULES.html.sh (string handling): Likewise.
34106         * doc/functions/strcasestr.texi: New file.
34107         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
34108         here, since it is not a POSIX function.
34109
34110 2008-01-14  Colin Watson  <cjwatson@debian.org>
34111             Bruno Haible  <bruno@clisp.org>
34112
34113         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
34114         works fine; if not, set REPLACE_STRSIGNAL.
34115         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
34116         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
34117         REPLACE_STRSIGNAL.
34118         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
34119         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
34120         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
34121
34122 2008-01-14  Bruno Haible  <bruno@clisp.org>
34123
34124         * modules/strsignal (Include): Change to <string.h>.
34125
34126 2008-01-14  Colin Watson  <cjwatson@debian.org>
34127
34128         * modules/argp (Notice): Add a notice recommending to change
34129         XGETTEXT_OPTIONS.
34130         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
34131
34132 2008-01-13  Colin Watson  <cjwatson@debian.org>
34133
34134         * modules/strsignal-tests: New file.
34135         * tests/test-strsignal.c: New file.
34136
34137         * lib/strsignal.c: New file, from glibc with modifications.
34138         * lib/siglist.h: New file, from glibc with modifications.
34139         * lib/string.in.h (strsignal): New declaration.
34140         * m4/strsignal.m4: New file.
34141         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
34142         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
34143         * modules/strsignal: New file.
34144         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
34145         HAVE_DECL_STRSIGNAL.
34146
34147 2008-01-13  Bruno Haible  <bruno@clisp.org>
34148
34149         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
34150         locale encoding is not ASCII. Needed for OpenBSD 4.0.
34151         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
34152         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
34153
34154 2008-01-13  Bruno Haible  <bruno@clisp.org>
34155
34156         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
34157         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
34158         * lib/argp.h (__attribute__): Likewise.
34159         * lib/c-stack.c (__attribute__): Likewise.
34160         * lib/error.h (__attribute__): Likewise.
34161         * lib/fts.c (__attribute__): Likewise.
34162         * lib/openat.h (__attribute__): Likewise.
34163         * lib/stdio.in.h (__attribute__): Likewise.
34164         * lib/string.in.h (__attribute__): Likewise.
34165         * lib/utimens.c (__attribute__): Likewise.
34166         * lib/vasnprintf.h (__attribute__): Likewise.
34167         * lib/xalloc.h (__attribute__): Likewise.
34168         * lib/xprintf.h (__attribute__): Likewise.
34169         * lib/xstrtol.h (__attribute__): Likewise.
34170         * lib/xvasprintf.h (__attribute__): Likewise.
34171
34172 2008-01-12  Bruno Haible  <bruno@clisp.org>
34173
34174         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
34175         * doc/glibc-headers/a.out.texi: New file.
34176         * doc/glibc-headers/aliases.texi: New file.
34177         * doc/glibc-headers/alloca.texi: New file.
34178         * doc/glibc-headers/ar.texi: New file.
34179         * doc/glibc-headers/argp.texi: New file.
34180         * doc/glibc-headers/argz.texi: New file.
34181         * doc/glibc-headers/byteswap.texi: New file.
34182         * doc/glibc-headers/crypt.texi: New file.
34183         * doc/glibc-headers/endian.texi: New file.
34184         * doc/glibc-headers/envz.texi: New file.
34185         * doc/glibc-headers/err.texi: New file.
34186         * doc/glibc-headers/error.texi: New file.
34187         * doc/glibc-headers/execinfo.texi: New file.
34188         * doc/glibc-headers/fpu_control.texi: New file.
34189         * doc/glibc-headers/fstab.texi: New file.
34190         * doc/glibc-headers/fts.texi: New file.
34191         * doc/glibc-headers/getopt.texi: New file.
34192         * doc/glibc-headers/ieee754.texi: New file.
34193         * doc/glibc-headers/ifaddrs.texi: New file.
34194         * doc/glibc-headers/libintl.texi: New file.
34195         * doc/glibc-headers/mcheck.texi: New file.
34196         * doc/glibc-headers/mntent.texi: New file.
34197         * doc/glibc-headers/obstack.texi: New file.
34198         * doc/glibc-headers/paths.texi: New file.
34199         * doc/glibc-headers/printf.texi: New file.
34200         * doc/glibc-headers/pty.texi: New file.
34201         * doc/glibc-headers/resolv.texi: New file.
34202         * doc/glibc-headers/shadow.texi: New file.
34203         * doc/glibc-headers/sysexits.texi: New file.
34204         * doc/glibc-headers/ttyent.texi: New file.
34205
34206 2008-01-12  Jim Meyering  <meyering@redhat.com>
34207
34208         announce-gen: emit Gnulib's git-based version string.
34209         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
34210         New option --gnulib-version=V, where V is expected to be
34211         the output of running git describe in the gnulib directory.
34212         (get_tool_versions): Request feedback on xdelta.  I suspect it's
34213         not useful, and plan to stop publishing an xdelta file with each
34214         coreutils release.
34215
34216         * build-aux/announce-gen: Also check for lzma-compressed files.
34217
34218 2008-01-11  Bruno Haible  <bruno@clisp.org>
34219
34220         * tests/test-memmem.c (main): Increase maximum allowed time.
34221         * tests/test-strstr.c (main): Likewise.
34222
34223 2008-01-11  Bruno Haible  <bruno@clisp.org>
34224
34225         * doc/functions/memmem.texi: Add more precisions about platforms.
34226         * doc/functions/strstr.texi: Likewise.
34227
34228 2008-01-10  Eric Blake  <ebb9@byu.net>
34229
34230         * m4/strstr.m4: Delete cruft from copy-n-paste.
34231         Reported by Bruno Haible.
34232
34233 2008-01-10  Bruno Haible  <bruno@clisp.org>
34234
34235         Make c-strstr rely on strstr.
34236         * lib/c-strstr.c: Don't include str-kmp.h.
34237         (c_strstr): Define in terms of strstr.
34238         * modules/c-strstr (Files): Remove lib/str-kmp.h.
34239         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
34240
34241 2008-01-10  Bruno Haible  <bruno@clisp.org>
34242
34243         * doc/gnulib.texi (String Functions in C Locale): New section.
34244         * doc/c-ctype.texi: New file.
34245         * doc/c-strcase.texi: New file.
34246         * doc/c-strcaseeq.texi: New file.
34247         * doc/c-strcasestr.texi: New file.
34248         * doc/c-strstr.texi: New file.
34249         * doc/c-strtod.texi: New file.
34250         * doc/c-strtold.texi: New file.
34251
34252 2008-01-10  Eric Blake  <ebb9@byu.net>
34253
34254         * lib/relocatable.h: Fix a comment.
34255
34256 2008-01-10  Eric Blake  <ebb9@byu.net>
34257
34258         Share two-way algorithm.
34259         * lib/str-two-way.h: New file, merged from...
34260         * lib/memmem.c: ...here...
34261         * lib/strstr.c: ...and here.
34262         * modules/memmem (Files): Use it.
34263         * modules/strstr (Files): Likewise.
34264
34265         Avoid quadratic strstr implementations.
34266         * lib/strstr.c: New file.
34267         * m4/strstr.m4: Likewise.
34268         * modules/strstr: Likewise.
34269         * modules/strstr-tests: Likewise.
34270         * tests/test-strstr.c: Likewise.
34271         * lib/string.in.h (rpl_strstr): Declare.
34272         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
34273         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
34274         * modules/string (Makefile.am): Likewise.
34275         * MODULES.html.sh (string handling): Mention new module.
34276         * doc/functions/strstr.texi (strstr): Document the bug.
34277
34278 2008-01-10  Bruno Haible  <bruno@clisp.org>
34279
34280         * lib/relocatable.h (relocate): State whether result is freshly
34281         allocated or not.
34282         * lib/relocatable.c (relocate): Return a freshly allocated string
34283         instead of a pointer to a privately held string.
34284         Reported by Sylvain Beucler <beuc@gnu.org>.
34285
34286 2008-01-10  Colin Watson  <cjwatson@debian.org>
34287
34288         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
34289         s/S_ISNLK/S_ISLNK/.
34290
34291 2008-01-09  Bruno Haible  <bruno@clisp.org>
34292
34293         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
34294         and other files.
34295         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
34296         if it's only a guess.
34297         * modules/memmem: Simplify by depending on memmem-simple.
34298
34299 2008-01-09  Bruno Haible  <bruno@clisp.org>
34300
34301         Work around OpenBSD 4.0 tdelete() bug.
34302         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
34303         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
34304         macros and don't redefine the enum values.
34305         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
34306         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
34307         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
34308
34309 2008-01-09  Bruno Haible  <bruno@clisp.org>
34310
34311         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
34312         (main): Don't perform the tests if setlocale did not install a UTF-8
34313         locale. Needed on OpenBSD 4.0.
34314         * modules/wcwidth-tests (Depends-on): Add localcharset.
34315
34316 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
34317
34318         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
34319         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
34320         * NEWS: announce this.
34321         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
34322
34323 2008-01-09  Simon Josefsson  <simon@josefsson.org>
34324         and Eric Blake  <ebb9@byu.net>
34325
34326         Add memmem-simple module.
34327         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
34328         (gl_FUNC_MEMMEM): Separate performance from presence checks.
34329         * modules/memmem-simple: New file.
34330         * modules/memmem (Description): Tweak.
34331         * MODULES.html.sh (string handling): Mention new module.
34332         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
34333         addressed by memmem-simple.
34334         * NEWS: Document the difference.
34335
34336 2008-01-09  Eric Blake  <ebb9@byu.net>
34337
34338         Give gcc some memmem optimization hints.
34339         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
34340         (strcasestr): Declare as pure.
34341         * modules/memmem (Maintainer): Claim my implementation.
34342
34343 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34344
34345         Support AIX 6.1 and higher.
34346         * build-aux/config.libpath: Likewise.
34347         * build-aux/config.rpath: Likewise.
34348
34349 2008-01-08  Jim Meyering  <meyering@redhat.com>
34350             Bruno Haible  <bruno@clisp.org>
34351
34352         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
34353         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
34354         Reported by Peter Fales in
34355         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
34356
34357 2008-01-08  Bruno Haible  <bruno@clisp.org>
34358
34359         * modules/unictype/category-of (Depends-on): Add
34360         unictype/category-none.
34361         * modules/unictype/category-and-tests (Depends-on): Add
34362         unictype/category-{L,N,Lu,Nd}.
34363         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
34364         * modules/unictype/category-or-tests (Depends-on): Add
34365         unictype/category-{L,N}.
34366         * modules/unictype/category-name-tests (Depends-on): Add
34367         unictype/category-{Z,Nl}.
34368         Reported by Simon Josefsson.
34369
34370 2008-01-08  Bruno Haible  <bruno@clisp.org>
34371
34372         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
34373         convention better.
34374         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
34375         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
34376         Reported by Peter Miller <millerp@canb.auug.org.au>.
34377
34378 2008-01-08  Eric Blake  <ebb9@byu.net>
34379
34380         Rewrite memmem to guarantee linear complexity without malloc.
34381         * lib/memmem.c (memmem): Use Two-Way rather than
34382         Knuth-Morris-Pratt, to allow O(1) space usage.
34383         (critical_factorization, two_way_short_needle)
34384         (two_way_long_needle): New functions.
34385         (knuth_morris_pratt): Delete.
34386         * modules/memmem (Depends-on): No longer need malloca or stdbool.
34387         Add stdint.
34388         * tests/test-memmem.c (main): Add tests for periodic needle and
34389         sublinear performance.
34390         * doc/functions/memmem.texi (memmem): Document other deficiencies
34391         in cygwin and older glibc.
34392
34393 2008-01-08  Bruno Haible  <bruno@clisp.org>
34394
34395         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
34396         augmentation.
34397
34398 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
34399
34400         Add a configure time option: --disable-acl.
34401         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
34402         AC_ARG_ENABLE(acl).
34403
34404 2008-01-06  Simon Josefsson  <simon@josefsson.org>
34405
34406         * tests/test-localename.c: Don't include obsolete "setenv.h".
34407
34408         * modules/localename-tests (Depends-on): Need unsetenv.
34409
34410 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34411
34412         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
34413
34414 2008-01-06  Colin Watson  <cjwatson@debian.org>
34415
34416         * users.txt: Add man-db.
34417
34418 2008-01-07  Bruno Haible  <bruno@clisp.org>
34419
34420         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
34421         previous section name.
34422
34423 2008-01-07  Bruno Haible  <bruno@clisp.org>
34424
34425         * lib/progname.c (set_program_name): Don't strip off a leading
34426         "lt-" prefix outside a .libs directory.
34427         Suggested by Paul Eggert.
34428
34429 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
34430             Bruno Haible  <bruno@clisp.org>
34431
34432         Improve memory cleanup in 'relocatable' module.
34433         * lib/relocatable.h (compute_curr_prefix): Change return type to
34434         'char *'.
34435         * lib/relocatable.c (compute_curr_prefix): Change return type to
34436         'char *'. Free curr_installdir after use.
34437         (relocate): Free curr_prefix_better after use.
34438         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
34439
34440 2008-01-01  Bruno Haible  <bruno@clisp.org>
34441
34442         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
34443         failure on older glibc systems.
34444         Reported by Peter Fales <psfales@alcatel-lucent.com>.
34445
34446 2008-01-05  Eric Blake  <ebb9@byu.net>
34447
34448         Avoid quadratic system memmem.
34449         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
34450         Reported by Ralf Wildenhues.
34451
34452         Fix memmem test for mingw.
34453         * modules/memmem-tests (configure.ac): Check for alarm.
34454         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
34455         it.
34456         * doc/functions/memmem.texi: New file.
34457         * doc/gnulib.texi (Function Substitutes): Add memmem.
34458         Reported by Bruno Haible.
34459
34460 2008-01-04  Bruno Haible  <bruno@clisp.org>
34461
34462         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
34463         Require gl_HEADER_STRINGS_H_DEFAULTS, not
34464         gl_HEADER_STRING_H_DEFAULTS.
34465
34466 2008-01-04  Eric Blake  <ebb9@byu.net>
34467
34468         Shorten duration of memmem test.
34469         * tests/test-memmem.c (main): Use alarm to declare failure if test
34470         is taking too long.
34471         Reported by Ralf Wildenhues.
34472
34473 2007-12-21  Simon Josefsson  <simon@josefsson.org>
34474
34475         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
34476         string, needed by strerror.
34477
34478 2008-01-03  Colin Watson  <cjwatson@debian.org>
34479             Bruno Haible  <bruno@clisp.org>
34480
34481         * doc/gnulib-tool.texi (Localization): New section.
34482
34483 2008-01-02  Bruno Haible  <bruno@clisp.org>
34484
34485         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
34486         variables to 'unsigned char *' type.
34487         Reported by Paul Eggert.
34488
34489 2008-01-02  Jim Meyering  <jim@meyering.net>
34490
34491         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
34492
34493 2007-12-31  Jim Meyering  <jim@meyering.net>
34494
34495         Avoid use of private FTS type name.
34496         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
34497
34498 2007-12-30  Karl Berry  <karl@gnu.org>
34499
34500         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
34501         work around defect in Texinfo and/or the standalone Info browser.
34502
34503 2007-12-30  Bruno Haible  <bruno@clisp.org>
34504
34505         Unify 5 copies of the KMP code.
34506         * lib/str-kmp.h: New file.
34507         * lib/c-strcasestr.c: Include str-kmp.h.
34508         (knuth_morris_pratt): Remove function.
34509         (c_strcasestr): Update.
34510         * lib/c-strstr.c: Include str-kmp.h.
34511         (knuth_morris_pratt): Remove function.
34512         (c_strcasestr): Update.
34513         * lib/mbscasestr.c: Include str-kmp.h.
34514         (knuth_morris_pratt_unibyte): Remove function.
34515         * lib/mbsstr.c: Include str-kmp.h.
34516         (knuth_morris_pratt_unibyte): Remove function.
34517         * lib/strcasestr.c: Include str-kmp.h.
34518         (knuth_morris_pratt): Remove function.
34519         (strcasestr): Update.
34520         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
34521         * modules/c-strstr (Files): Likewise.
34522         * modules/mbscasestr (Files): Likewise.
34523         * modules/mbsstr (Files): Likewise.
34524         * modules/strcasestr (Files): Likewise.
34525         Suggested by Paul Eggert.
34526
34527 2007-12-30  Bruno Haible  <bruno@clisp.org>
34528
34529         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
34530         defined.
34531
34532 2007-12-30  Bruno Haible  <bruno@clisp.org>
34533
34534         * lib/xmalloca.h: Include xalloc.h.
34535         (xnmalloca): New macro.
34536
34537 2007-12-30  Bruno Haible  <bruno@clisp.org>
34538
34539         * lib/malloca.h (nmalloca): New macro.
34540         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
34541         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
34542         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
34543         knuth_morris_pratt_multibyte): Likewise.
34544         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
34545         knuth_morris_pratt_multibyte): Likewise.
34546         * lib/memmem.c (knuth_morris_pratt): Likewise.
34547         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
34548
34549 2007-12-25  Bruno Haible  <bruno@clisp.org>
34550
34551         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
34552         * lib/glob.c: Don't include openat.h.
34553         (link_exists2_p): Add back the code that deals with the
34554         !GLOB_ALTDIRFUNC case.
34555         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
34556         let it do the filename concatenation.
34557         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
34558         * modules/glob (Depends-on): Remove openat.
34559
34560 2007-12-31  Bruno Haible  <bruno@clisp.org>
34561
34562         * modules/dirfd (License): Change to LGPLv2+.
34563         Approved by Jim Meyering.
34564
34565 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
34566
34567         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
34568         when multiplying M by sizeof (size_t).
34569
34570 2007-12-10  Martin Lambers  <marlam@marlam.de>
34571
34572         Override getpagesize on mingw.
34573         * lib/getpagesize.c: New file.
34574         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
34575         * modules/getpagesize (Files): Add lib/getpagesize.c.
34576         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
34577         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
34578         REPLACE_GETPAGESIZE.
34579         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
34580
34581 2007-12-25  Bruno Haible  <bruno@clisp.org>
34582
34583         * modules/localcharset (Notice): New field.
34584         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
34585         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
34586
34587 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
34588             Bruno Haible  <bruno@clisp.org>
34589
34590         Avoid using the syntax symbol() in formatted documentation.
34591         * MODULES.html.sh (func_module): When replacing symbol() with a
34592         hyperlink, remove the parentheses. Show an error if some remain.
34593         Recognize and render the '...' syntax.
34594         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
34595         Rework. Add paragraph about GCC's inlining.
34596         * doc/alloca.texi: Likewise.
34597         * doc/error.texi: Remove parentheses from symbol reference.
34598         * doc/gnulib-intro.texi: Likewise.
34599         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
34600         * modules/fnmatch (Description): Reword to say "the ... function".
34601         * modules/full-read (Description): Likewise.
34602         * modules/full-write (Description): Likewise.
34603         * modules/safe-read (Description): Likewise.
34604         * modules/safe-write (Description): Likewise.
34605         * modules/strchrnul (Description): Likewise.
34606         * modules/trim (Description): Likewise.
34607         * modules/error (Description): Remove parentheses from symbol
34608         references.
34609         * modules/verror (Description): Likewise.
34610         Reported by Karl Berry.
34611
34612 2007-12-25  Bruno Haible  <bruno@clisp.org>
34613
34614         Fixup after 2007-10-16 commit.
34615         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
34616
34617 2007-12-24  Bruno Haible  <bruno@clisp.org>
34618
34619         Make --enable-relocatable work with DESTDIR.
34620         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
34621         to compute installdir from destprog.
34622         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
34623         also set the RELOC_DESTDIR variable.
34624         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
34625
34626 2007-12-24  Bruno Haible  <bruno@clisp.org>
34627
34628         Fix link error due to xalloc_die().
34629         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
34630         of xreadlink.
34631         * lib/relocwrapper.c: Update comments.
34632         * build-aux/install-reloc: Remove xreadlink.c from file list.
34633         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
34634         xreadlink.c.
34635         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
34636
34637 2007-12-24  Bruno Haible  <bruno@clisp.org>
34638
34639         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
34640         * lib/setenv.h: Remove file.
34641         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
34642         lib/setenv.h.
34643         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
34644         (Depends-on): Add stdlib.
34645         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
34646         gl_FUNC_UNSETENV.
34647         (Include): Replace setenv.h with <stdlib.h>.
34648         * modules/unsetenv: New file.
34649         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
34650         * lib/unsetenv.c: Include <stdlib.h> first.
34651         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
34652         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
34653         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
34654         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
34655         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
34656         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
34657         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
34658         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
34659         * doc/functions/unsetenv.texi: Update.
34660         * modules/xsetenv (Depends-on): Add unsetenv.
34661         * modules/getdate (Depends-on): Likewise.
34662         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
34663         * lib/xsetenv.c: Don't include setenv.h.
34664         * lib/getdate.y: Likewise.
34665         * lib/relocwrapper.c: Likewise.
34666         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
34667         (Depends-on): Add stdlib.
34668         * NEWS: Mention the changes.
34669         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
34670
34671 2007-12-23  Bruno Haible  <bruno@clisp.org>
34672
34673         * lib/memmem.c (memmem): Use lowercase variable names. Tab
34674         indentation.
34675
34676 2007-12-23  Bruno Haible  <bruno@clisp.org>
34677
34678         * lib/c-strcasestr.c: Add more comments.
34679         * lib/c-strstr.c: Likewise.
34680         * lib/mbscasestr.c: Likewise.
34681         * lib/mbsstr.c: Likewise.
34682         * lib/strcasestr.c: Likewise.
34683         * lib/memmem.c: Likewise.
34684
34685 2007-12-23  Bruno Haible  <bruno@clisp.org>
34686
34687         * tests/test-memmem.c: Include <string.h> first.
34688
34689 2007-12-22  Bruno Haible  <bruno@clisp.org>
34690
34691         * gnulib-tool (func_create_testdir): Change $auxdir while generating
34692         the contents of $testsbase.
34693         Reported by Ralf Wildenhues.
34694
34695 2007-12-22  Bruno Haible  <bruno@clisp.org>
34696
34697         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
34698         two variables local_ldadd_before, local_ldadd_last.
34699
34700 2007-12-20  Eric Blake  <ebb9@byu.net>
34701
34702         Work around circular library issue when cross-compiling.
34703         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
34704         that progname.o does not need to pull in rpl_memcmp.
34705
34706 2007-12-19  Eric Blake  <ebb9@byu.net>
34707
34708         Fix memmem to avoid O(n^2) worst-case complexity.
34709         * lib/memmem.c (knuth_morris_pratt): New function.
34710         (memmem): Use it if first few naive iterations fail.
34711         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
34712         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
34713         * modules/memchr (License): Likewise.
34714         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
34715         malloca.
34716         * tests/test-memmem.c: Rewrite, borrowing ideas from
34717         test-mbsstr1.c; the old version wouldn't even compile!
34718         * modules/memmem-tests: New file.
34719         * lib/string.in.h (rpl_memmem): Add declaration.
34720         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
34721         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
34722         REPLACE_MEMMEM.
34723
34724 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
34725
34726         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
34727         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
34728         before any system include files, and undef after them all.  This
34729         should fix a problem on VMS reported by John E. Malmberg in
34730         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
34731
34732 2007-12-17  Eric Blake  <ebb9@byu.net>
34733
34734         Revert addition of verify, for BSD/OS.
34735         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
34736         can't handle large files, for the sake of obsolete platforms.
34737         * modules/fseeko (Depends-on): Remove verify.
34738         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
34739         * doc/functions/ftello.texi (ftello): Likewise.
34740         * doc/functions/fgetpos.texi (fgetpos): Likewise.
34741         Reported by Larry Jones.
34742
34743 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
34744
34745         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
34746         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
34747
34748 2007-12-17  Jim Meyering  <meyering@redhat.com>
34749
34750         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
34751         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
34752         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
34753         * modules/getcwd (Depends-on): Add openat.
34754         Reported by Petr Salinger.
34755
34756 2007-12-17  Bruno Haible  <bruno@clisp.org>
34757
34758         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
34759         avoid a segmentation fault of the configure test on x86_64 systems.
34760
34761 2007-12-15  Jim Meyering  <meyering@redhat.com>
34762
34763         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
34764
34765 2007-12-13  Eric Blake  <ebb9@byu.net>
34766
34767         Another fseek test.
34768         * tests/test-fseek.c (main): Also test ungetc handling.
34769         * tests/test-fseeko.c (main): Likewise.
34770         * modules/fseeko (Depends-on): Add verify.
34771         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
34772         large.
34773         Reported by Larry Jones.
34774
34775         Fix fseeko on mingw.
34776         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
34777         seek.
34778
34779         Beef up fseek tests.
34780         * tests/test-fseek.c (main): Also test eof handling.
34781         * tests/test-fseeko.c (main): Likewise.
34782         Reported by Larry Jones.
34783
34784 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
34785
34786         Fix fseeko on BSD-based platforms.
34787         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
34788         successful seek.
34789
34790 2007-12-12  Eric Blake  <ebb9@byu.net>
34791
34792         Allow circular dependency of separate libtests.a
34793         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
34794         when use_libtests.
34795
34796 2007-12-11  Eric Blake  <ebb9@byu.net>
34797
34798         Fix bug with -0.0L in previous patch.
34799         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
34800         * tests/test-isnan.c (main): Also test on zeroes.
34801         * tests/test-isnanf.c (main): Likewise.
34802         * tests/test-isnanl.h (main): Likewise.
34803
34804         Detect pseudo-denormals on x86 even when cross-compiling.
34805         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
34806         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
34807         invalid bit patterns that happen to satisfy ==.
34808
34809         Avoid link failures with separate libtests.a.
34810         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
34811         last, to satisfy circular dependencies.
34812
34813 2007-12-11  Eric Blake  <ebb9@byu.net>
34814         and Bruno Haible  <bruno@clisp.org>
34815
34816         Fix OpenBSD 4.0 <float.h> handling of long double.
34817         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
34818         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
34819         * doc/headers/float.texi (float.h): Document OpenBSD bug.
34820
34821 2007-12-11  Jim Meyering  <meyering@redhat.com>
34822
34823         * users.txt: Add libvirt.
34824
34825         Support versions of autoconf prior to 2.59c.
34826         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
34827         if it is not already defined.
34828
34829 2007-12-09  Bruno Haible  <bruno@clisp.org>
34830
34831         Let 'gnulib-tool --import' collect sources needed for the tests in
34832         tests/ rather than in lib/.
34833         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
34834         argument. If true, add rules to generate libtests.a, and put libtests.a
34835         into $(LDADD). Consider source files in subdirectories and set
34836         uses_subdirs.
34837         (func_emit_initmacro_start, func_emit_initmacro_end,
34838         func_emit_initmacro_done): Pass all arguments explicitly.
34839         (func_import): Determine two module lists main_modules,
34840         testsrelated_modules. Determine use_libtests. Determine two variables
34841         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
34842         instead of just sed_transform_lib_file. Determine two variables
34843         main_files and testsrelated_files. Compute 'files' as the union of
34844         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
34845         func_add_or_update. In the generated gnulib-comp.m4, collect the
34846         object files for tests/ in different variables than those for lib/.
34847         Substitute LIBTESTS_LIBDEPS.
34848         (func_create_testdir): Combine the uses_subdirs results from
34849         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
34850
34851 2007-12-09  Bruno Haible  <bruno@clisp.org>
34852
34853         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
34854         the build-aux directory.
34855
34856 2007-12-09  Bruno Haible  <bruno@clisp.org>
34857
34858         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
34859         introduced on 2006-09-09.
34860
34861 2007-12-07  Jim Meyering  <meyering@redhat.com>
34862
34863         Let these macros work also with autoconf-2.59.
34864         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
34865         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
34866         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
34867
34868 2007-12-06  Jim Meyering  <meyering@redhat.com>
34869
34870         Avoid a configure-time syntax error in gl_FUNC_ACL.
34871         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
34872         function in each branch, before testing the cache variable.
34873
34874 2007-12-04  Eric Blake  <ebb9@byu.net>
34875
34876         Make scripts executable.
34877         * build-aux/config.guess: Add execute permissions.
34878         * build-aux/config.sub: Likewise.
34879         * build-aux/gendocs.sh: Likewise.
34880
34881         Fix frexp on mingw.
34882         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
34883         cross-compiling.
34884         * doc/functions/frexp.texi (frexp): Document the bug.
34885
34886         Make cygwin fseeko check more reliable.
34887         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
34888         version numbers, rather than unrelated feature check.
34889         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
34890         * doc/functions/ftello.texi (ftello): Likewise.
34891         Reported by Bruno Haible.
34892
34893         * m4/strerror.m4: Bump version number.
34894
34895 2007-12-03  Bruno Haible  <bruno@clisp.org>
34896
34897         * doc/functions/mprotect.texi: Mention the mingw problem.
34898
34899 2007-12-03  Eric Blake  <ebb9@byu.net>
34900
34901         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
34902         REPLACE_STRERROR is initialized before this macro.
34903
34904 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
34905
34906         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
34907         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
34908         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
34909         put -lsec in even for programs other than 'ls'.  This fixes a problem
34910         for gettext reported by Bruno Haible in
34911         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
34912         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
34913         Add support for Solaris 10.  This isn't efficient, but should get the
34914         job done for now.
34915
34916 2007-12-03  James Youngman  <jay@gnu.org>
34917
34918         * doc/regexprops-generic.texi: change "an close-group" to "a
34919         close-group" and "illegal" to "not allowed".
34920
34921 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34922
34923         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
34924         pr_byname.h. Needed for the rare case when the maintainer has done
34925         "make maintainer-clean" in the source directory and then attempts a
34926         build outside the source directory.
34927         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
34928         scripts_byname.h.
34929
34930 2007-12-02  Martin Lambers <marlam@marlam.de>
34931             Bruno Haible  <bruno@clisp.org>
34932
34933         * lib/getpagesize.h: Remove file.
34934         * lib/unistd.in.h: Include declaration of getpagesize here.
34935         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
34936         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
34937         HAVE_SYS_PARAM_H.
34938         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
34939         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
34940         * modules/getpagesize (Files): Remove lib/getpagesize.h.
34941         (Depends-on): Add unistd.
34942         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
34943         (Include): Use <unistd.h> instead of getpagesize.h.
34944         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
34945         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
34946         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
34947         gl_GETPAGESIZE invocation, already handled by module dependency.
34948         * lib/pagealign_alloc.c: Don't include getpagesize.h.
34949
34950 2007-12-02  Bruno Haible  <bruno@clisp.org>
34951
34952         * modules/strings-tests: New file.
34953         * tests/test-strings.c: New file.
34954
34955         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
34956         * lib/strings.in.h: New file.
34957         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
34958         * m4/strings_h.m4: New file.
34959         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
34960         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
34961         * modules/strings: New file.
34962         * modules/string (Makefile.am): Update.
34963         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
34964         Reported by Karl Berry.
34965
34966 2007-12-01  Eric Blake  <ebb9@byu.net>
34967
34968         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
34969         accomodate fix in cygwin 1.5.25.
34970
34971 2007-12-01  Jim Meyering  <meyering@redhat.com>
34972
34973         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
34974         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
34975         that would inhibit utf8-optimization of a regexp containing line-
34976         or buffer-anchors, e.g., `^', `$'.
34977
34978 2007-11-30  Bruno Haible  <bruno@clisp.org>
34979
34980         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
34981         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
34982         glthread_recursive_lock_init.
34983         * lib/lock.c (glthread_recursive_lock_init)
34984         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
34985         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
34986
34987 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
34988
34989         New function qset_acl, like set_acl but with syscall semantics.
34990         * lib/acl.h (qset_acl): New decl.
34991         * lib/acl.c (qset_acl): New function.
34992         (set_acl): Use new function.  Use more-consistent diagnostics.
34993
34994 2007-11-28  Jim Meyering  <meyering@redhat.com>
34995
34996         * modules/physmem (License): Change from GPL to LGPLv2+.
34997
34998 2007-11-26  Bruno Haible  <bruno@clisp.org>
34999
35000         * lib/vasnprintf.c (decode_long_double): Don't abort if the
35001         'long double' type has excess precision.
35002         Reported by Jim Meyering in
35003         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
35004
35005 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35006
35007         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
35008         Sync from <http://gnu.org/licenses>.
35009         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
35010         with license text from same location.
35011         * doc/maintain.texi, doc/standards.texi:  Sync from
35012         <http://savannah.gnu.org/projects/gnustandards>.
35013
35014 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
35015         and Jim Meyering  <meyering@redhat.com>
35016
35017         Adjust getdate' grammar to accept a slightly more regular language.
35018         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
35019         Before, the former was rejected.
35020         * lib/getdate.y (digits_to_date_time): New function, factored
35021         out of ...
35022         (number): ...here.  Just call digits_to_date_time.
35023         (hybrid): New non-terminal to handle an <unsigned number,
35024         signed relative offset> sequence consistently.
35025
35026 2007-11-18  Jim Meyering  <meyering@redhat.com>
35027
35028         Pull my changes from coreutils:
35029         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
35030         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
35031         use of $gnulib_tool_option_extras, so that it's separated from the
35032         preceding argument.
35033
35034         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
35035         * build-aux/bootstrap (cp_mark_as_generated): Create any required
35036         parent destination directories before copying a file into place.
35037
35038 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
35039
35040         bootstrap: work also with 4-argument variant of AC_INIT
35041         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
35042
35043 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
35044
35045         Port test-getaddrinfo to Solaris.
35046         Problem reported by Bruno Haible in
35047         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
35048         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
35049         explanation of setting 'hints'.
35050         Don't reject an implementation merely because it returns EAI_SERVICE.
35051         (EAI_SERVICE): Define to 0 if not defined.
35052
35053 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
35054
35055         The license of gnu-make and posix-shell is now "GPLed build tool".
35056         * modules/gnu-make (License): Likewise.
35057         * modules/posix-shell (License): Likewise.
35058
35059         New module posix-shell, for determining a POSIX shell
35060         or perhaps something that is close enough to a POSIX shell.
35061         * m4/posix-shell.m4: New file.
35062         * modules/posix-shell: New file.
35063
35064         * MODULES.html.sh: Mention new module.
35065
35066         New module gnu-make, for determining whether we're using GNU Make.
35067         * m4/gnu-make.m4: New file.
35068         * modules/gnu-make: New file.
35069         * MODULES.html.sh: Mention new module.
35070
35071 2007-11-14  Jim Meyering  <meyering@redhat.com>
35072
35073         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
35074         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
35075         use this macro to create a function _definition_.
35076         Remove useless "#undef ARGMATCH_DIE".
35077
35078 2007-11-14  Bruno Haible  <bruno@clisp.org>
35079
35080         * lib/config.charset: Update for OpenBSD 4.1.
35081         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
35082
35083 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
35084
35085         Document 64-bit #if problems in stdint.texi.
35086         * doc/headers/stdint.texi (stdint.h): Mention problems with
35087         64-bit-#if, and how to work around them.
35088
35089         Don't insist on 'long long int' support in the preprocessor.  It
35090         breaks too many things.  For example, PRIdMAX still uses a 'long
35091         long int' format with the latest Sun compiler, even though
35092         HAVE_LONG_LONG_INT isn't defined due to that compiler's
35093         preprocessor problem.  This causes the latest coreutils to dump
35094         core on Solaris 10 sparc with the Sun C compiler.
35095         Instead, fix the 2007-10-16 problem in a different way, by evaluating
35096         the troublesome expressions at configure-time, not at #if-time.
35097         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
35098         preprocessor.
35099         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
35100         compile-time C checks, done at 'configure'-time.
35101         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
35102         * modules/inttypes (Makefile): Substitute the new symbols that
35103         gl_INTTYPES_H now generates.
35104         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
35105
35106 2007-11-12  Bruno Haible  <bruno@clisp.org>
35107
35108         Tests for Unicode character classification functions.
35109
35110         * modules/unictype/bidicategory-byname-tests: New file.
35111         * modules/unictype/bidicategory-name-tests: New file.
35112         * modules/unictype/bidicategory-of-tests: New file.
35113         * modules/unictype/bidicategory-test-tests: New file.
35114         * modules/unictype/block-list-tests: New file.
35115         * modules/unictype/block-of-tests: New file.
35116         * modules/unictype/block-test-tests: New file.
35117         * modules/unictype/category-C-tests: New file.
35118         * modules/unictype/category-Cc-tests: New file.
35119         * modules/unictype/category-Cf-tests: New file.
35120         * modules/unictype/category-Cn-tests: New file.
35121         * modules/unictype/category-Co-tests: New file.
35122         * modules/unictype/category-Cs-tests: New file.
35123         * modules/unictype/category-L-tests: New file.
35124         * modules/unictype/category-Ll-tests: New file.
35125         * modules/unictype/category-Lm-tests: New file.
35126         * modules/unictype/category-Lo-tests: New file.
35127         * modules/unictype/category-Lt-tests: New file.
35128         * modules/unictype/category-Lu-tests: New file.
35129         * modules/unictype/category-M-tests: New file.
35130         * modules/unictype/category-Mc-tests: New file.
35131         * modules/unictype/category-Me-tests: New file.
35132         * modules/unictype/category-Mn-tests: New file.
35133         * modules/unictype/category-N-tests: New file.
35134         * modules/unictype/category-Nd-tests: New file.
35135         * modules/unictype/category-Nl-tests: New file.
35136         * modules/unictype/category-No-tests: New file.
35137         * modules/unictype/category-P-tests: New file.
35138         * modules/unictype/category-Pc-tests: New file.
35139         * modules/unictype/category-Pd-tests: New file.
35140         * modules/unictype/category-Pe-tests: New file.
35141         * modules/unictype/category-Pf-tests: New file.
35142         * modules/unictype/category-Pi-tests: New file.
35143         * modules/unictype/category-Po-tests: New file.
35144         * modules/unictype/category-Ps-tests: New file.
35145         * modules/unictype/category-S-tests: New file.
35146         * modules/unictype/category-Sc-tests: New file.
35147         * modules/unictype/category-Sk-tests: New file.
35148         * modules/unictype/category-Sm-tests: New file.
35149         * modules/unictype/category-So-tests: New file.
35150         * modules/unictype/category-Z-tests: New file.
35151         * modules/unictype/category-Zl-tests: New file.
35152         * modules/unictype/category-Zp-tests: New file.
35153         * modules/unictype/category-Zs-tests: New file.
35154         * modules/unictype/category-and-not-tests: New file.
35155         * modules/unictype/category-and-tests: New file.
35156         * modules/unictype/category-byname-tests: New file.
35157         * modules/unictype/category-name-tests: New file.
35158         * modules/unictype/category-none-tests: New file.
35159         * modules/unictype/category-of-tests: New file.
35160         * modules/unictype/category-or-tests: New file.
35161         * modules/unictype/category-test-withtable-tests: New file.
35162         * modules/unictype/combining-class-tests: New file.
35163         * modules/unictype/ctype-alnum-tests: New file.
35164         * modules/unictype/ctype-alpha-tests: New file.
35165         * modules/unictype/ctype-blank-tests: New file.
35166         * modules/unictype/ctype-cntrl-tests: New file.
35167         * modules/unictype/ctype-digit-tests: New file.
35168         * modules/unictype/ctype-graph-tests: New file.
35169         * modules/unictype/ctype-lower-tests: New file.
35170         * modules/unictype/ctype-print-tests: New file.
35171         * modules/unictype/ctype-punct-tests: New file.
35172         * modules/unictype/ctype-space-tests: New file.
35173         * modules/unictype/ctype-upper-tests: New file.
35174         * modules/unictype/ctype-xdigit-tests: New file.
35175         * modules/unictype/decimal-digit-tests: New file.
35176         * modules/unictype/digit-tests: New file.
35177         * modules/unictype/mirror-tests: New file.
35178         * modules/unictype/numeric-tests: New file.
35179         * modules/unictype/property-alphabetic-tests: New file.
35180         * modules/unictype/property-ascii-hex-digit-tests: New file.
35181         * modules/unictype/property-bidi-arabic-digit-tests: New file.
35182         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
35183         * modules/unictype/property-bidi-block-separator-tests: New file.
35184         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
35185         * modules/unictype/property-bidi-common-separator-tests: New file.
35186         * modules/unictype/property-bidi-control-tests: New file.
35187         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
35188         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
35189         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
35190         * modules/unictype/property-bidi-european-digit-tests: New file.
35191         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
35192         * modules/unictype/property-bidi-left-to-right-tests: New file.
35193         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
35194         * modules/unictype/property-bidi-other-neutral-tests: New file.
35195         * modules/unictype/property-bidi-pdf-tests: New file.
35196         * modules/unictype/property-bidi-segment-separator-tests: New file.
35197         * modules/unictype/property-bidi-whitespace-tests: New file.
35198         * modules/unictype/property-byname-tests: New file.
35199         * modules/unictype/property-combining-tests: New file.
35200         * modules/unictype/property-composite-tests: New file.
35201         * modules/unictype/property-currency-symbol-tests: New file.
35202         * modules/unictype/property-dash-tests: New file.
35203         * modules/unictype/property-decimal-digit-tests: New file.
35204         * modules/unictype/property-default-ignorable-code-point-tests: New file.
35205         * modules/unictype/property-deprecated-tests: New file.
35206         * modules/unictype/property-diacritic-tests: New file.
35207         * modules/unictype/property-extender-tests: New file.
35208         * modules/unictype/property-format-control-tests: New file.
35209         * modules/unictype/property-grapheme-base-tests: New file.
35210         * modules/unictype/property-grapheme-extend-tests: New file.
35211         * modules/unictype/property-grapheme-link-tests: New file.
35212         * modules/unictype/property-hex-digit-tests: New file.
35213         * modules/unictype/property-hyphen-tests: New file.
35214         * modules/unictype/property-id-continue-tests: New file.
35215         * modules/unictype/property-id-start-tests: New file.
35216         * modules/unictype/property-ideographic-tests: New file.
35217         * modules/unictype/property-ids-binary-operator-tests: New file.
35218         * modules/unictype/property-ids-trinary-operator-tests: New file.
35219         * modules/unictype/property-ignorable-control-tests: New file.
35220         * modules/unictype/property-iso-control-tests: New file.
35221         * modules/unictype/property-join-control-tests: New file.
35222         * modules/unictype/property-left-of-pair-tests: New file.
35223         * modules/unictype/property-line-separator-tests: New file.
35224         * modules/unictype/property-logical-order-exception-tests: New file.
35225         * modules/unictype/property-lowercase-tests: New file.
35226         * modules/unictype/property-math-tests: New file.
35227         * modules/unictype/property-non-break-tests: New file.
35228         * modules/unictype/property-not-a-character-tests: New file.
35229         * modules/unictype/property-numeric-tests: New file.
35230         * modules/unictype/property-other-alphabetic-tests: New file.
35231         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
35232         * modules/unictype/property-other-grapheme-extend-tests: New file.
35233         * modules/unictype/property-other-id-continue-tests: New file.
35234         * modules/unictype/property-other-id-start-tests: New file.
35235         * modules/unictype/property-other-lowercase-tests: New file.
35236         * modules/unictype/property-other-math-tests: New file.
35237         * modules/unictype/property-other-uppercase-tests: New file.
35238         * modules/unictype/property-paired-punctuation-tests: New file.
35239         * modules/unictype/property-paragraph-separator-tests: New file.
35240         * modules/unictype/property-pattern-syntax-tests: New file.
35241         * modules/unictype/property-pattern-white-space-tests: New file.
35242         * modules/unictype/property-private-use-tests: New file.
35243         * modules/unictype/property-punctuation-tests: New file.
35244         * modules/unictype/property-quotation-mark-tests: New file.
35245         * modules/unictype/property-radical-tests: New file.
35246         * modules/unictype/property-sentence-terminal-tests: New file.
35247         * modules/unictype/property-soft-dotted-tests: New file.
35248         * modules/unictype/property-space-tests: New file.
35249         * modules/unictype/property-terminal-punctuation-tests: New file.
35250         * modules/unictype/property-test-tests: New file.
35251         * modules/unictype/property-titlecase-tests: New file.
35252         * modules/unictype/property-unassigned-code-value-tests: New file.
35253         * modules/unictype/property-unified-ideograph-tests: New file.
35254         * modules/unictype/property-uppercase-tests: New file.
35255         * modules/unictype/property-variation-selector-tests: New file.
35256         * modules/unictype/property-white-space-tests: New file.
35257         * modules/unictype/property-xid-continue-tests: New file.
35258         * modules/unictype/property-xid-start-tests: New file.
35259         * modules/unictype/property-zero-width-tests: New file.
35260         * modules/unictype/scripts-tests: New file.
35261         * modules/unictype/syntax-c-ident-tests: New file.
35262         * modules/unictype/syntax-c-whitespace-tests: New file.
35263         * modules/unictype/syntax-java-ident-tests: New file.
35264         * modules/unictype/syntax-java-whitespace-tests: New file.
35265         * tests/unictype/test-bidi_byname.c: New file.
35266         * tests/unictype/test-bidi_name.c: New file.
35267         * tests/unictype/test-bidi_of.c: New file.
35268         * tests/unictype/test-bidi_test.c: New file.
35269         * tests/unictype/test-block_list.c: New file.
35270         * tests/unictype/test-block_of.c: New file.
35271         * tests/unictype/test-block_test.c: New file.
35272         * tests/unictype/test-categ_and.c: New file.
35273         * tests/unictype/test-categ_and_not.c: New file.
35274         * tests/unictype/test-categ_byname.c: New file.
35275         * tests/unictype/test-categ_name.c: New file.
35276         * tests/unictype/test-categ_none.c: New file.
35277         * tests/unictype/test-categ_of.c: New file.
35278         * tests/unictype/test-categ_or.c: New file.
35279         * tests/unictype/test-categ_test_withtable.c: New file.
35280         * tests/unictype/test-combining.c: New file.
35281         * tests/unictype/test-decdigit.c: New file.
35282         * tests/unictype/test-digit.c: New file.
35283         * tests/unictype/test-mirror.c: New file.
35284         * tests/unictype/test-numeric.c: New file.
35285         * tests/unictype/test-pr_byname.c: New file.
35286         * tests/unictype/test-pr_test.c: New file.
35287         * tests/unictype/test-predicate-part1.h: New file.
35288         * tests/unictype/test-predicate-part2.h: New file.
35289         * tests/unictype/test-scripts.c: New file.
35290         * tests/unictype/test-sy_c_ident.c: New file.
35291         * tests/unictype/test-sy_java_ident.c: New file.
35292
35293         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
35294         for Unicode 5.0.0.
35295         * tests/unictype/test-categ_Cc.c: Likewise.
35296         * tests/unictype/test-categ_Cf.c: Likewise.
35297         * tests/unictype/test-categ_Cn.c: Likewise.
35298         * tests/unictype/test-categ_Co.c: Likewise.
35299         * tests/unictype/test-categ_Cs.c: Likewise.
35300         * tests/unictype/test-categ_L.c: Likewise.
35301         * tests/unictype/test-categ_Ll.c: Likewise.
35302         * tests/unictype/test-categ_Lm.c: Likewise.
35303         * tests/unictype/test-categ_Lo.c: Likewise.
35304         * tests/unictype/test-categ_Lt.c: Likewise.
35305         * tests/unictype/test-categ_Lu.c: Likewise.
35306         * tests/unictype/test-categ_M.c: Likewise.
35307         * tests/unictype/test-categ_Mc.c: Likewise.
35308         * tests/unictype/test-categ_Me.c: Likewise.
35309         * tests/unictype/test-categ_Mn.c: Likewise.
35310         * tests/unictype/test-categ_N.c: Likewise.
35311         * tests/unictype/test-categ_Nd.c: Likewise.
35312         * tests/unictype/test-categ_Nl.c: Likewise.
35313         * tests/unictype/test-categ_No.c: Likewise.
35314         * tests/unictype/test-categ_P.c: Likewise.
35315         * tests/unictype/test-categ_Pc.c: Likewise.
35316         * tests/unictype/test-categ_Pd.c: Likewise.
35317         * tests/unictype/test-categ_Pe.c: Likewise.
35318         * tests/unictype/test-categ_Pf.c: Likewise.
35319         * tests/unictype/test-categ_Pi.c: Likewise.
35320         * tests/unictype/test-categ_Po.c: Likewise.
35321         * tests/unictype/test-categ_Ps.c: Likewise.
35322         * tests/unictype/test-categ_S.c: Likewise.
35323         * tests/unictype/test-categ_Sc.c: Likewise.
35324         * tests/unictype/test-categ_Sk.c: Likewise.
35325         * tests/unictype/test-categ_Sm.c: Likewise.
35326         * tests/unictype/test-categ_So.c: Likewise.
35327         * tests/unictype/test-categ_Z.c: Likewise.
35328         * tests/unictype/test-categ_Zl.c: Likewise.
35329         * tests/unictype/test-categ_Zp.c: Likewise.
35330         * tests/unictype/test-categ_Zs.c: Likewise.
35331         * tests/unictype/test-ctype_alnum.c: Likewise.
35332         * tests/unictype/test-ctype_alpha.c: Likewise.
35333         * tests/unictype/test-ctype_blank.c: Likewise.
35334         * tests/unictype/test-ctype_cntrl.c: Likewise.
35335         * tests/unictype/test-ctype_digit.c: Likewise.
35336         * tests/unictype/test-ctype_graph.c: Likewise.
35337         * tests/unictype/test-ctype_lower.c: Likewise.
35338         * tests/unictype/test-ctype_print.c: Likewise.
35339         * tests/unictype/test-ctype_punct.c: Likewise.
35340         * tests/unictype/test-ctype_space.c: Likewise.
35341         * tests/unictype/test-ctype_upper.c: Likewise.
35342         * tests/unictype/test-ctype_xdigit.c: Likewise.
35343         * tests/unictype/test-decdigit.h: Likewise.
35344         * tests/unictype/test-digit.h: Likewise.
35345         * tests/unictype/test-numeric.h: Likewise.
35346         * tests/unictype/test-pr_alphabetic.c: Likewise.
35347         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
35348         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
35349         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
35350         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
35351         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
35352         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
35353         * tests/unictype/test-pr_bidi_control.c: Likewise.
35354         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
35355         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
35356         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
35357         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
35358         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
35359         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
35360         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
35361         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
35362         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
35363         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
35364         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
35365         * tests/unictype/test-pr_combining.c: Likewise.
35366         * tests/unictype/test-pr_composite.c: Likewise.
35367         * tests/unictype/test-pr_currency_symbol.c: Likewise.
35368         * tests/unictype/test-pr_dash.c: Likewise.
35369         * tests/unictype/test-pr_decimal_digit.c: Likewise.
35370         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
35371         * tests/unictype/test-pr_deprecated.c: Likewise.
35372         * tests/unictype/test-pr_diacritic.c: Likewise.
35373         * tests/unictype/test-pr_extender.c: Likewise.
35374         * tests/unictype/test-pr_format_control.c: Likewise.
35375         * tests/unictype/test-pr_grapheme_base.c: Likewise.
35376         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
35377         * tests/unictype/test-pr_grapheme_link.c: Likewise.
35378         * tests/unictype/test-pr_hex_digit.c: Likewise.
35379         * tests/unictype/test-pr_hyphen.c: Likewise.
35380         * tests/unictype/test-pr_id_continue.c: Likewise.
35381         * tests/unictype/test-pr_id_start.c: Likewise.
35382         * tests/unictype/test-pr_ideographic.c: Likewise.
35383         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
35384         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
35385         * tests/unictype/test-pr_ignorable_control.c: Likewise.
35386         * tests/unictype/test-pr_iso_control.c: Likewise.
35387         * tests/unictype/test-pr_join_control.c: Likewise.
35388         * tests/unictype/test-pr_left_of_pair.c: Likewise.
35389         * tests/unictype/test-pr_line_separator.c: Likewise.
35390         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
35391         * tests/unictype/test-pr_lowercase.c: Likewise.
35392         * tests/unictype/test-pr_math.c: Likewise.
35393         * tests/unictype/test-pr_non_break.c: Likewise.
35394         * tests/unictype/test-pr_not_a_character.c: Likewise.
35395         * tests/unictype/test-pr_numeric.c: Likewise.
35396         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
35397         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
35398         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
35399         * tests/unictype/test-pr_other_id_continue.c: Likewise.
35400         * tests/unictype/test-pr_other_id_start.c: Likewise.
35401         * tests/unictype/test-pr_other_lowercase.c: Likewise.
35402         * tests/unictype/test-pr_other_math.c: Likewise.
35403         * tests/unictype/test-pr_other_uppercase.c: Likewise.
35404         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
35405         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
35406         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
35407         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
35408         * tests/unictype/test-pr_private_use.c: Likewise.
35409         * tests/unictype/test-pr_punctuation.c: Likewise.
35410         * tests/unictype/test-pr_quotation_mark.c: Likewise.
35411         * tests/unictype/test-pr_radical.c: Likewise.
35412         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
35413         * tests/unictype/test-pr_soft_dotted.c: Likewise.
35414         * tests/unictype/test-pr_space.c: Likewise.
35415         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
35416         * tests/unictype/test-pr_titlecase.c: Likewise.
35417         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
35418         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
35419         * tests/unictype/test-pr_uppercase.c: Likewise.
35420         * tests/unictype/test-pr_variation_selector.c: Likewise.
35421         * tests/unictype/test-pr_white_space.c: Likewise.
35422         * tests/unictype/test-pr_xid_continue.c: Likewise.
35423         * tests/unictype/test-pr_xid_start.c: Likewise.
35424         * tests/unictype/test-pr_zero_width.c: Likewise.
35425         * tests/unictype/test-sy_c_whitespace.c: Likewise.
35426         * tests/unictype/test-sy_java_whitespace.c: Likewise.
35427
35428 2007-11-12  Bruno Haible  <bruno@clisp.org>
35429
35430         Unicode character classification functions.
35431         * lib/unictype.h: New file.
35432         * modules/unictype/base: New file.
35433         * modules/unictype/category-L: New file.
35434         * modules/unictype/category-Lu: New file.
35435         * modules/unictype/category-Ll: New file.
35436         * modules/unictype/category-Lt: New file.
35437         * modules/unictype/category-Lm: New file.
35438         * modules/unictype/category-Lo: New file.
35439         * modules/unictype/category-M: New file.
35440         * modules/unictype/category-Mn: New file.
35441         * modules/unictype/category-Mc: New file.
35442         * modules/unictype/category-Me: New file.
35443         * modules/unictype/category-N: New file.
35444         * modules/unictype/category-Nd: New file.
35445         * modules/unictype/category-Nl: New file.
35446         * modules/unictype/category-No: New file.
35447         * modules/unictype/category-P: New file.
35448         * modules/unictype/category-Pc: New file.
35449         * modules/unictype/category-Pd: New file.
35450         * modules/unictype/category-Ps: New file.
35451         * modules/unictype/category-Pe: New file.
35452         * modules/unictype/category-Pi: New file.
35453         * modules/unictype/category-Pf: New file.
35454         * modules/unictype/category-Po: New file.
35455         * modules/unictype/category-S: New file.
35456         * modules/unictype/category-Sm: New file.
35457         * modules/unictype/category-Sc: New file.
35458         * modules/unictype/category-Sk: New file.
35459         * modules/unictype/category-So: New file.
35460         * modules/unictype/category-Z: New file.
35461         * modules/unictype/category-Zs: New file.
35462         * modules/unictype/category-Zl: New file.
35463         * modules/unictype/category-Zp: New file.
35464         * modules/unictype/category-C: New file.
35465         * modules/unictype/category-Cc: New file.
35466         * modules/unictype/category-Cf: New file.
35467         * modules/unictype/category-Cs: New file.
35468         * modules/unictype/category-Co: New file.
35469         * modules/unictype/category-Cn: New file.
35470         * modules/unictype/category-or: New file.
35471         * modules/unictype/category-of: New file.
35472         * modules/unictype/category-test: New file.
35473         * modules/unictype/category-test-withtable: New file.
35474         * modules/unictype/category-byname: New file.
35475         * modules/unictype/category-none: New file.
35476         * modules/unictype/category-and: New file.
35477         * modules/unictype/category-and-not: New file.
35478         * modules/unictype/category-name: New file.
35479         * modules/unictype/combining-class: New file.
35480         * modules/unictype/category-all: New file.
35481         * modules/unictype/bidicategory-all: New file.
35482         * modules/unictype/bidicategory-byname: New file.
35483         * modules/unictype/bidicategory-name: New file.
35484         * modules/unictype/bidicategory-of: New file.
35485         * modules/unictype/bidicategory-test: New file.
35486         * modules/unictype/decimal-digit: New file.
35487         * modules/unictype/digit: New file.
35488         * modules/unictype/numeric: New file.
35489         * modules/unictype/mirror: New file.
35490         * modules/unictype/property-white-space: New file.
35491         * modules/unictype/property-alphabetic: New file.
35492         * modules/unictype/property-other-alphabetic: New file.
35493         * modules/unictype/property-not-a-character: New file.
35494         * modules/unictype/property-default-ignorable-code-point: New file.
35495         * modules/unictype/property-other-default-ignorable-code-point: New
35496         file.
35497         * modules/unictype/property-deprecated: New file.
35498         * modules/unictype/property-logical-order-exception: New file.
35499         * modules/unictype/property-variation-selector: New file.
35500         * modules/unictype/property-private-use: New file.
35501         * modules/unictype/property-unassigned-code-value: New file.
35502         * modules/unictype/property-uppercase: New file.
35503         * modules/unictype/property-other-uppercase: New file.
35504         * modules/unictype/property-lowercase: New file.
35505         * modules/unictype/property-other-lowercase: New file.
35506         * modules/unictype/property-titlecase: New file.
35507         * modules/unictype/property-soft-dotted: New file.
35508         * modules/unictype/property-id-start: New file.
35509         * modules/unictype/property-other-id-start: New file.
35510         * modules/unictype/property-id-continue: New file.
35511         * modules/unictype/property-other-id-continue: New file.
35512         * modules/unictype/property-xid-start: New file.
35513         * modules/unictype/property-xid-continue: New file.
35514         * modules/unictype/property-pattern-white-space: New file.
35515         * modules/unictype/property-pattern-syntax: New file.
35516         * modules/unictype/property-join-control: New file.
35517         * modules/unictype/property-grapheme-base: New file.
35518         * modules/unictype/property-grapheme-extend: New file.
35519         * modules/unictype/property-other-grapheme-extend: New file.
35520         * modules/unictype/property-grapheme-link: New file.
35521         * modules/unictype/property-bidi-control: New file.
35522         * modules/unictype/property-bidi-left-to-right: New file.
35523         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
35524         * modules/unictype/property-bidi-arabic-right-to-left: New file.
35525         * modules/unictype/property-bidi-european-digit: New file.
35526         * modules/unictype/property-bidi-eur-num-separator: New file.
35527         * modules/unictype/property-bidi-eur-num-terminator: New file.
35528         * modules/unictype/property-bidi-arabic-digit: New file.
35529         * modules/unictype/property-bidi-common-separator: New file.
35530         * modules/unictype/property-bidi-block-separator: New file.
35531         * modules/unictype/property-bidi-segment-separator: New file.
35532         * modules/unictype/property-bidi-whitespace: New file.
35533         * modules/unictype/property-bidi-non-spacing-mark: New file.
35534         * modules/unictype/property-bidi-boundary-neutral: New file.
35535         * modules/unictype/property-bidi-pdf: New file.
35536         * modules/unictype/property-bidi-embedding-or-override: New file.
35537         * modules/unictype/property-bidi-other-neutral: New file.
35538         * modules/unictype/property-hex-digit: New file.
35539         * modules/unictype/property-ascii-hex-digit: New file.
35540         * modules/unictype/property-ideographic: New file.
35541         * modules/unictype/property-unified-ideograph: New file.
35542         * modules/unictype/property-radical: New file.
35543         * modules/unictype/property-ids-binary-operator: New file.
35544         * modules/unictype/property-ids-trinary-operator: New file.
35545         * modules/unictype/property-zero-width: New file.
35546         * modules/unictype/property-space: New file.
35547         * modules/unictype/property-non-break: New file.
35548         * modules/unictype/property-iso-control: New file.
35549         * modules/unictype/property-format-control: New file.
35550         * modules/unictype/property-dash: New file.
35551         * modules/unictype/property-hyphen: New file.
35552         * modules/unictype/property-punctuation: New file.
35553         * modules/unictype/property-line-separator: New file.
35554         * modules/unictype/property-paragraph-separator: New file.
35555         * modules/unictype/property-quotation-mark: New file.
35556         * modules/unictype/property-sentence-terminal: New file.
35557         * modules/unictype/property-terminal-punctuation: New file.
35558         * modules/unictype/property-currency-symbol: New file.
35559         * modules/unictype/property-math: New file.
35560         * modules/unictype/property-other-math: New file.
35561         * modules/unictype/property-paired-punctuation: New file.
35562         * modules/unictype/property-left-of-pair: New file.
35563         * modules/unictype/property-combining: New file.
35564         * modules/unictype/property-composite: New file.
35565         * modules/unictype/property-decimal-digit: New file.
35566         * modules/unictype/property-numeric: New file.
35567         * modules/unictype/property-diacritic: New file.
35568         * modules/unictype/property-extender: New file.
35569         * modules/unictype/property-ignorable-control: New file.
35570         * modules/unictype/property-test: New file.
35571         * modules/unictype/property-byname: New file.
35572         * modules/unictype/property-all: New file.
35573         * modules/unictype/scripts: New file.
35574         * modules/unictype/scripts-all: New file.
35575         * modules/unictype/block-of: New file.
35576         * modules/unictype/block-test: New file.
35577         * modules/unictype/block-list: New file.
35578         * modules/unictype/block-all: New file.
35579         * modules/unictype/syntax-c-whitespace: New file.
35580         * modules/unictype/syntax-java-whitespace: New file.
35581         * modules/unictype/syntax-c-ident: New file.
35582         * modules/unictype/syntax-java-ident: New file.
35583         * modules/unictype/ctype-alnum: New file.
35584         * modules/unictype/ctype-alpha: New file.
35585         * modules/unictype/ctype-cntrl: New file.
35586         * modules/unictype/ctype-digit: New file.
35587         * modules/unictype/ctype-graph: New file.
35588         * modules/unictype/ctype-lower: New file.
35589         * modules/unictype/ctype-print: New file.
35590         * modules/unictype/ctype-punct: New file.
35591         * modules/unictype/ctype-space: New file.
35592         * modules/unictype/ctype-upper: New file.
35593         * modules/unictype/ctype-xdigit: New file.
35594         * modules/unictype/ctype-blank: New file.
35595         * lib/unictype/bidi_byname.c: New file.
35596         * lib/unictype/bidi_name.c: New file.
35597         * lib/unictype/bidi_of.c: New file.
35598         * lib/unictype/bidi_test.c: New file.
35599         * lib/unictype/bitmap.h: New file.
35600         * lib/unictype/block_test.c: New file.
35601         * lib/unictype/blocks.c: New file.
35602         * lib/unictype/categ_C.c: New file.
35603         * lib/unictype/categ_Cc.c: New file.
35604         * lib/unictype/categ_Cf.c: New file.
35605         * lib/unictype/categ_Cn.c: New file.
35606         * lib/unictype/categ_Co.c: New file.
35607         * lib/unictype/categ_Cs.c: New file.
35608         * lib/unictype/categ_L.c: New file.
35609         * lib/unictype/categ_Ll.c: New file.
35610         * lib/unictype/categ_Lm.c: New file.
35611         * lib/unictype/categ_Lo.c: New file.
35612         * lib/unictype/categ_Lt.c: New file.
35613         * lib/unictype/categ_Lu.c: New file.
35614         * lib/unictype/categ_M.c: New file.
35615         * lib/unictype/categ_Mc.c: New file.
35616         * lib/unictype/categ_Me.c: New file.
35617         * lib/unictype/categ_Mn.c: New file.
35618         * lib/unictype/categ_N.c: New file.
35619         * lib/unictype/categ_Nd.c: New file.
35620         * lib/unictype/categ_Nl.c: New file.
35621         * lib/unictype/categ_No.c: New file.
35622         * lib/unictype/categ_P.c: New file.
35623         * lib/unictype/categ_Pc.c: New file.
35624         * lib/unictype/categ_Pd.c: New file.
35625         * lib/unictype/categ_Pe.c: New file.
35626         * lib/unictype/categ_Pf.c: New file.
35627         * lib/unictype/categ_Pi.c: New file.
35628         * lib/unictype/categ_Po.c: New file.
35629         * lib/unictype/categ_Ps.c: New file.
35630         * lib/unictype/categ_S.c: New file.
35631         * lib/unictype/categ_Sc.c: New file.
35632         * lib/unictype/categ_Sk.c: New file.
35633         * lib/unictype/categ_Sm.c: New file.
35634         * lib/unictype/categ_So.c: New file.
35635         * lib/unictype/categ_Z.c: New file.
35636         * lib/unictype/categ_Zl.c: New file.
35637         * lib/unictype/categ_Zp.c: New file.
35638         * lib/unictype/categ_Zs.c: New file.
35639         * lib/unictype/categ_and.c: New file.
35640         * lib/unictype/categ_and_not.c: New file.
35641         * lib/unictype/categ_byname.c: New file.
35642         * lib/unictype/categ_name.c: New file.
35643         * lib/unictype/categ_none.c: New file.
35644         * lib/unictype/categ_of.c: New file.
35645         * lib/unictype/categ_or.c: New file.
35646         * lib/unictype/categ_test.c: New file.
35647         * lib/unictype/combining.c: New file.
35648         * lib/unictype/ctype_alnum.c: New file.
35649         * lib/unictype/ctype_alpha.c: New file.
35650         * lib/unictype/ctype_blank.c: New file.
35651         * lib/unictype/ctype_cntrl.c: New file.
35652         * lib/unictype/ctype_digit.c: New file.
35653         * lib/unictype/ctype_graph.c: New file.
35654         * lib/unictype/ctype_lower.c: New file.
35655         * lib/unictype/ctype_print.c: New file.
35656         * lib/unictype/ctype_punct.c: New file.
35657         * lib/unictype/ctype_space.c: New file.
35658         * lib/unictype/ctype_upper.c: New file.
35659         * lib/unictype/ctype_xdigit.c: New file.
35660         * lib/unictype/decdigit.c: New file.
35661         * lib/unictype/digit.c: New file.
35662         * lib/unictype/identsyntaxmap.h: New file.
35663         * lib/unictype/mirror.c: New file.
35664         * lib/unictype/numeric.c: New file.
35665         * lib/unictype/pr_alphabetic.c: New file.
35666         * lib/unictype/pr_ascii_hex_digit.c: New file.
35667         * lib/unictype/pr_bidi_arabic_digit.c: New file.
35668         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
35669         * lib/unictype/pr_bidi_block_separator.c: New file.
35670         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
35671         * lib/unictype/pr_bidi_common_separator.c: New file.
35672         * lib/unictype/pr_bidi_control.c: New file.
35673         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
35674         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
35675         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
35676         * lib/unictype/pr_bidi_european_digit.c: New file.
35677         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
35678         * lib/unictype/pr_bidi_left_to_right.c: New file.
35679         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
35680         * lib/unictype/pr_bidi_other_neutral.c: New file.
35681         * lib/unictype/pr_bidi_pdf.c: New file.
35682         * lib/unictype/pr_bidi_segment_separator.c: New file.
35683         * lib/unictype/pr_bidi_whitespace.c: New file.
35684         * lib/unictype/pr_byname.c: New file.
35685         * lib/unictype/pr_byname.gperf: New file.
35686         * lib/unictype/pr_combining.c: New file.
35687         * lib/unictype/pr_composite.c: New file.
35688         * lib/unictype/pr_currency_symbol.c: New file.
35689         * lib/unictype/pr_dash.c: New file.
35690         * lib/unictype/pr_decimal_digit.c: New file.
35691         * lib/unictype/pr_default_ignorable_code_point.c: New file.
35692         * lib/unictype/pr_deprecated.c: New file.
35693         * lib/unictype/pr_diacritic.c: New file.
35694         * lib/unictype/pr_extender.c: New file.
35695         * lib/unictype/pr_format_control.c: New file.
35696         * lib/unictype/pr_grapheme_base.c: New file.
35697         * lib/unictype/pr_grapheme_extend.c: New file.
35698         * lib/unictype/pr_grapheme_link.c: New file.
35699         * lib/unictype/pr_hex_digit.c: New file.
35700         * lib/unictype/pr_hyphen.c: New file.
35701         * lib/unictype/pr_id_continue.c: New file.
35702         * lib/unictype/pr_id_start.c: New file.
35703         * lib/unictype/pr_ideographic.c: New file.
35704         * lib/unictype/pr_ids_binary_operator.c: New file.
35705         * lib/unictype/pr_ids_trinary_operator.c: New file.
35706         * lib/unictype/pr_ignorable_control.c: New file.
35707         * lib/unictype/pr_iso_control.c: New file.
35708         * lib/unictype/pr_join_control.c: New file.
35709         * lib/unictype/pr_left_of_pair.c: New file.
35710         * lib/unictype/pr_line_separator.c: New file.
35711         * lib/unictype/pr_logical_order_exception.c: New file.
35712         * lib/unictype/pr_lowercase.c: New file.
35713         * lib/unictype/pr_math.c: New file.
35714         * lib/unictype/pr_non_break.c: New file.
35715         * lib/unictype/pr_not_a_character.c: New file.
35716         * lib/unictype/pr_numeric.c: New file.
35717         * lib/unictype/pr_other_alphabetic.c: New file.
35718         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
35719         * lib/unictype/pr_other_grapheme_extend.c: New file.
35720         * lib/unictype/pr_other_id_continue.c: New file.
35721         * lib/unictype/pr_other_id_start.c: New file.
35722         * lib/unictype/pr_other_lowercase.c: New file.
35723         * lib/unictype/pr_other_math.c: New file.
35724         * lib/unictype/pr_other_uppercase.c: New file.
35725         * lib/unictype/pr_paired_punctuation.c: New file.
35726         * lib/unictype/pr_paragraph_separator.c: New file.
35727         * lib/unictype/pr_pattern_syntax.c: New file.
35728         * lib/unictype/pr_pattern_white_space.c: New file.
35729         * lib/unictype/pr_private_use.c: New file.
35730         * lib/unictype/pr_punctuation.c: New file.
35731         * lib/unictype/pr_quotation_mark.c: New file.
35732         * lib/unictype/pr_radical.c: New file.
35733         * lib/unictype/pr_sentence_terminal.c: New file.
35734         * lib/unictype/pr_soft_dotted.c: New file.
35735         * lib/unictype/pr_space.c: New file.
35736         * lib/unictype/pr_terminal_punctuation.c: New file.
35737         * lib/unictype/pr_test.c: New file.
35738         * lib/unictype/pr_titlecase.c: New file.
35739         * lib/unictype/pr_unassigned_code_value.c: New file.
35740         * lib/unictype/pr_unified_ideograph.c: New file.
35741         * lib/unictype/pr_uppercase.c: New file.
35742         * lib/unictype/pr_variation_selector.c: New file.
35743         * lib/unictype/pr_white_space.c: New file.
35744         * lib/unictype/pr_xid_continue.c: New file.
35745         * lib/unictype/pr_xid_start.c: New file.
35746         * lib/unictype/pr_zero_width.c: New file.
35747         * lib/unictype/scripts.c: New file.
35748         * lib/unictype/sy_c_ident.c: New file.
35749         * lib/unictype/sy_c_whitespace.c: New file.
35750         * lib/unictype/sy_java_ident.c: New file.
35751         * lib/unictype/sy_java_whitespace.c: New file.
35752
35753         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
35754         Unicode 5.0.0.
35755         * lib/unictype/blocks.h: Likewise.
35756         * lib/unictype/categ_C.h: Likewise.
35757         * lib/unictype/categ_Cc.h: Likewise.
35758         * lib/unictype/categ_Cf.h: Likewise.
35759         * lib/unictype/categ_Cn.h: Likewise.
35760         * lib/unictype/categ_Co.h: Likewise.
35761         * lib/unictype/categ_Cs.h: Likewise.
35762         * lib/unictype/categ_L.h: Likewise.
35763         * lib/unictype/categ_Ll.h: Likewise.
35764         * lib/unictype/categ_Lm.h: Likewise.
35765         * lib/unictype/categ_Lo.h: Likewise.
35766         * lib/unictype/categ_Lt.h: Likewise.
35767         * lib/unictype/categ_Lu.h: Likewise.
35768         * lib/unictype/categ_M.h: Likewise.
35769         * lib/unictype/categ_Mc.h: Likewise.
35770         * lib/unictype/categ_Me.h: Likewise.
35771         * lib/unictype/categ_Mn.h: Likewise.
35772         * lib/unictype/categ_N.h: Likewise.
35773         * lib/unictype/categ_Nd.h: Likewise.
35774         * lib/unictype/categ_Nl.h: Likewise.
35775         * lib/unictype/categ_No.h: Likewise.
35776         * lib/unictype/categ_P.h: Likewise.
35777         * lib/unictype/categ_Pc.h: Likewise.
35778         * lib/unictype/categ_Pd.h: Likewise.
35779         * lib/unictype/categ_Pe.h: Likewise.
35780         * lib/unictype/categ_Pf.h: Likewise.
35781         * lib/unictype/categ_Pi.h: Likewise.
35782         * lib/unictype/categ_Po.h: Likewise.
35783         * lib/unictype/categ_Ps.h: Likewise.
35784         * lib/unictype/categ_S.h: Likewise.
35785         * lib/unictype/categ_Sc.h: Likewise.
35786         * lib/unictype/categ_Sk.h: Likewise.
35787         * lib/unictype/categ_Sm.h: Likewise.
35788         * lib/unictype/categ_So.h: Likewise.
35789         * lib/unictype/categ_Z.h: Likewise.
35790         * lib/unictype/categ_Zl.h: Likewise.
35791         * lib/unictype/categ_Zp.h: Likewise.
35792         * lib/unictype/categ_Zs.h: Likewise.
35793         * lib/unictype/categ_of.h: Likewise.
35794         * lib/unictype/combining.h: Likewise.
35795         * lib/unictype/ctype_alnum.h: Likewise.
35796         * lib/unictype/ctype_alpha.h: Likewise.
35797         * lib/unictype/ctype_blank.h: Likewise.
35798         * lib/unictype/ctype_cntrl.h: Likewise.
35799         * lib/unictype/ctype_digit.h: Likewise.
35800         * lib/unictype/ctype_graph.h: Likewise.
35801         * lib/unictype/ctype_lower.h: Likewise.
35802         * lib/unictype/ctype_print.h: Likewise.
35803         * lib/unictype/ctype_punct.h: Likewise.
35804         * lib/unictype/ctype_space.h: Likewise.
35805         * lib/unictype/ctype_upper.h: Likewise.
35806         * lib/unictype/ctype_xdigit.h: Likewise.
35807         * lib/unictype/decdigit.h: Likewise.
35808         * lib/unictype/digit.h: Likewise.
35809         * lib/unictype/mirror.h: Likewise.
35810         * lib/unictype/numeric.h: Likewise.
35811         * lib/unictype/pr_alphabetic.h: Likewise.
35812         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
35813         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
35814         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
35815         * lib/unictype/pr_bidi_block_separator.h: Likewise.
35816         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
35817         * lib/unictype/pr_bidi_common_separator.h: Likewise.
35818         * lib/unictype/pr_bidi_control.h: Likewise.
35819         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
35820         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
35821         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
35822         * lib/unictype/pr_bidi_european_digit.h: Likewise.
35823         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
35824         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
35825         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
35826         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
35827         * lib/unictype/pr_bidi_pdf.h: Likewise.
35828         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
35829         * lib/unictype/pr_bidi_whitespace.h: Likewise.
35830         * lib/unictype/pr_combining.h: Likewise.
35831         * lib/unictype/pr_composite.h: Likewise.
35832         * lib/unictype/pr_currency_symbol.h: Likewise.
35833         * lib/unictype/pr_dash.h: Likewise.
35834         * lib/unictype/pr_decimal_digit.h: Likewise.
35835         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
35836         * lib/unictype/pr_deprecated.h: Likewise.
35837         * lib/unictype/pr_diacritic.h: Likewise.
35838         * lib/unictype/pr_extender.h: Likewise.
35839         * lib/unictype/pr_format_control.h: Likewise.
35840         * lib/unictype/pr_grapheme_base.h: Likewise.
35841         * lib/unictype/pr_grapheme_extend.h: Likewise.
35842         * lib/unictype/pr_grapheme_link.h: Likewise.
35843         * lib/unictype/pr_hex_digit.h: Likewise.
35844         * lib/unictype/pr_hyphen.h: Likewise.
35845         * lib/unictype/pr_id_continue.h: Likewise.
35846         * lib/unictype/pr_id_start.h: Likewise.
35847         * lib/unictype/pr_ideographic.h: Likewise.
35848         * lib/unictype/pr_ids_binary_operator.h: Likewise.
35849         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
35850         * lib/unictype/pr_ignorable_control.h: Likewise.
35851         * lib/unictype/pr_iso_control.h: Likewise.
35852         * lib/unictype/pr_join_control.h: Likewise.
35853         * lib/unictype/pr_left_of_pair.h: Likewise.
35854         * lib/unictype/pr_line_separator.h: Likewise.
35855         * lib/unictype/pr_logical_order_exception.h: Likewise.
35856         * lib/unictype/pr_lowercase.h: Likewise.
35857         * lib/unictype/pr_math.h: Likewise.
35858         * lib/unictype/pr_non_break.h: Likewise.
35859         * lib/unictype/pr_not_a_character.h: Likewise.
35860         * lib/unictype/pr_numeric.h: Likewise.
35861         * lib/unictype/pr_other_alphabetic.h: Likewise.
35862         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
35863         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
35864         * lib/unictype/pr_other_id_continue.h: Likewise.
35865         * lib/unictype/pr_other_id_start.h: Likewise.
35866         * lib/unictype/pr_other_lowercase.h: Likewise.
35867         * lib/unictype/pr_other_math.h: Likewise.
35868         * lib/unictype/pr_other_uppercase.h: Likewise.
35869         * lib/unictype/pr_paired_punctuation.h: Likewise.
35870         * lib/unictype/pr_paragraph_separator.h: Likewise.
35871         * lib/unictype/pr_pattern_syntax.h: Likewise.
35872         * lib/unictype/pr_pattern_white_space.h: Likewise.
35873         * lib/unictype/pr_private_use.h: Likewise.
35874         * lib/unictype/pr_punctuation.h: Likewise.
35875         * lib/unictype/pr_quotation_mark.h: Likewise.
35876         * lib/unictype/pr_radical.h: Likewise.
35877         * lib/unictype/pr_sentence_terminal.h: Likewise.
35878         * lib/unictype/pr_soft_dotted.h: Likewise.
35879         * lib/unictype/pr_space.h: Likewise.
35880         * lib/unictype/pr_terminal_punctuation.h: Likewise.
35881         * lib/unictype/pr_titlecase.h: Likewise.
35882         * lib/unictype/pr_unassigned_code_value.h: Likewise.
35883         * lib/unictype/pr_unified_ideograph.h: Likewise.
35884         * lib/unictype/pr_uppercase.h: Likewise.
35885         * lib/unictype/pr_variation_selector.h: Likewise.
35886         * lib/unictype/pr_white_space.h: Likewise.
35887         * lib/unictype/pr_xid_continue.h: Likewise.
35888         * lib/unictype/pr_xid_start.h: Likewise.
35889         * lib/unictype/pr_zero_width.h: Likewise.
35890         * lib/unictype/scripts.h: Likewise.
35891         * lib/unictype/scripts_byname.gperf: Likewise.
35892         * lib/unictype/sy_c_ident.h: Likewise.
35893         * lib/unictype/sy_c_whitespace.h: Likewise.
35894         * lib/unictype/sy_java_ident.h: Likewise.
35895         * lib/unictype/sy_java_whitespace.h: Likewise.
35896
35897         * lib/unictype/Makefile: New file.
35898         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
35899         glibc.
35900         * lib/unictype/3level.h: New file, copied from glibc.
35901         * lib/unictype/3levelbit.h: New file.
35902
35903 2007-11-11  Bruno Haible  <bruno@clisp.org>
35904
35905         * modules/gperf: New file.
35906         * modules/iconv_open (Depends-on): Add it.
35907         (Makefile.am): Remove the GPERF definition.
35908
35909 2007-11-11  Bruno Haible  <bruno@clisp.org>
35910
35911         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
35912         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
35913
35914 2007-11-11  Bruno Haible  <bruno@clisp.org>
35915
35916         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
35917         (usage): Remove function.
35918
35919 2007-11-11  Bruno Haible  <bruno@clisp.org>
35920
35921         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
35922         gl_FUNC_CEILF_LIBS.
35923         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
35924         gl_FUNC_CEIL_LIBS.
35925         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
35926         gl_FUNC_CEILL_LIBS.
35927         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
35928         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
35929         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
35930
35931 2007-11-11  Bruno Haible  <bruno@clisp.org>
35932
35933         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
35934         roundf were declared but do not exist on functions.
35935         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
35936         roundl were declared but do not exist on functions.
35937         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
35938         HAVE_FLOORL_AND_CEILL, respectively.
35939         Needed for Sun C on Solaris 10.
35940
35941 2007-11-11  Bruno Haible  <bruno@clisp.org>
35942
35943         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
35944         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
35945         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
35946         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
35947         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
35948         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
35949         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
35950         HAVE_DECL_ROUNDF.
35951         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
35952         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
35953         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
35954         of HAVE_DECL_ROUND*.
35955         * modules/math (Makefile.am): Update.
35956
35957 2007-11-10  Bruno Haible  <bruno@clisp.org>
35958
35959         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
35960         ptrdiff_t as m4/intl.m4.
35961
35962 2007-11-10  Jim Meyering  <meyering@redhat.com>
35963
35964         Avoid link failure for the argmatch test.
35965         * tests/test-argmatch.c (usage): Define function to avoid a link
35966         failure: argmatch_die requires a usage function.
35967
35968 2007-11-09  Bruno Haible  <bruno@clisp.org>
35969
35970         * doc/functions/snprintf.texi: Mention BeOS deficiency.
35971         * doc/functions/vsnprintf.texi: Likewise.
35972         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
35973         with a size argument < 2.
35974
35975 2007-11-09  Bruno Haible  <bruno@clisp.org>
35976
35977         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
35978         buffer. Fixes an inefficiency introduced on 2007-11-03.
35979
35980 2007-11-09  Bruno Haible  <bruno@clisp.org>
35981
35982         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
35983         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
35984
35985 2007-11-08  Jim Meyering  <meyering@redhat.com>
35986
35987         Change cache variable name prefix "jm_" to "gl_" everywhere.
35988         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
35989         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
35990         * m4/uptime.m4: s/gl_/jm_/
35991
35992 2007-11-07  Bruno Haible  <bruno@clisp.org>
35993
35994         Update to GNU gettext 0.17.
35995         * m4/intl.m4: Update to GNU gettext 0.17.
35996         * m4/po.m4: Likewise.
35997         * modules/gettext (Files): Remove m4/ulonglong.m4.
35998         (configure.ac): Require gettext infrastructure from version 0.17.
35999
36000 2007-11-06  Bruno Haible  <bruno@clisp.org>
36001
36002         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
36003         symbolic values are not defined in a public header.
36004         * lib/freadable.c (freadable) [QNX]: Likewise.
36005         * lib/freadahead.c (freadahead) [QNX]: Likewise.
36006         * lib/freading.c (freading) [QNX]: Likewise.
36007         * lib/fseterr.c (fseterr) [QNX]: Likewise.
36008         * lib/fwritable.c (fwritable) [QNX]: Likewise.
36009         * lib/fwriting.c (fwriting) [QNX]: Likewise.
36010         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
36011         Reported by Alain Magloire.
36012
36013         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
36014
36015 2007-11-05  Bruno Haible  <bruno@clisp.org>
36016
36017         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
36018         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
36019         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
36020         Reported by Eric Blake.
36021
36022 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36023             Bruno Haible  <bruno@clisp.org>
36024
36025         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
36026         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
36027         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
36028         (malloc): Undefine also before including <stdlib.h>.
36029         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
36030         Needed on OSF/1 4.0.
36031
36032 2007-11-05  Jim Meyering  <meyering@redhat.com>
36033
36034         git-version-gen: sync from coreutils.
36035         * build-aux/git-version-gen: Add comments.
36036         Change the first '-' to '.' in the snapshot version string,
36037         e.g., 6.9-377-08144 -> 6.9.377-08144
36038         Remove first parameter.
36039         Don't declare a version "-dirty" merely because a time
36040         stamp has changed.
36041
36042 2007-11-04  Bruno Haible  <bruno@clisp.org>
36043
36044         * lib/lock.h: Protect all macro definitions containing an 'if'
36045         statement through a "do { ... } while (0)".
36046         * lib/tls.h: Likewise.
36047
36048 2007-11-04  Bruno Haible  <bruno@clisp.org>
36049
36050         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
36051
36052 2007-11-04  Bruno Haible  <bruno@clisp.org>
36053
36054         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
36055         * modules/fprintf-posix (Depends-on): Add nocrash.
36056         * modules/snprintf-posix (Depends-on): Likewise.
36057         * modules/sprintf-posix (Depends-on): Likewise.
36058         * modules/vasnprintf-posix (Depends-on): Likewise.
36059         * modules/vasprintf-posix (Depends-on): Likewise.
36060         * modules/vfprintf-posix (Depends-on): Likewise.
36061         * modules/vsnprintf-posix (Depends-on): Likewise.
36062         * modules/vsprintf-posix (Depends-on): Likewise.
36063         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
36064         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
36065         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
36066         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
36067         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
36068         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
36069         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
36070
36071 2007-11-04  Bruno Haible  <bruno@clisp.org>
36072
36073         * modules/nocrash: New file.
36074         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
36075         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
36076
36077 2007-11-04  Bruno Haible  <bruno@clisp.org>
36078
36079         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
36080         precision handling.
36081         * tests/test-vasprintf-posix.c (test_function): Likewise.
36082         * tests/test-snprintf-posix.h (test_function): Likewise.
36083         * tests/test-sprintf-posix.h (test_function): Likewise.
36084
36085         Fix *printf behaviour for large precisions on mingw and BeOS.
36086         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
36087         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
36088         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
36089         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
36090         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
36091         gl_PRINTF_PRECISION and test its result. Invoke
36092         gl_PREREQ_VASNPRINTF_PRECISION.
36093         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
36094         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
36095         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
36096         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
36097         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
36098         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
36099         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
36100         * doc/functions/fprintf.texi: Update.
36101         * doc/functions/printf.texi: Update.
36102         * doc/functions/snprintf.texi: Update.
36103         * doc/functions/sprintf.texi: Update.
36104         * doc/functions/vfprintf.texi: Update.
36105         * doc/functions/vprintf.texi: Update.
36106         * doc/functions/vsnprintf.texi: Update.
36107         * doc/functions/vsprintf.texi: Update.
36108
36109 2007-11-04  Bruno Haible  <bruno@clisp.org>
36110
36111         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
36112
36113 2007-11-04  Bruno Haible  <bruno@clisp.org>
36114
36115         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
36116         Reported by Sylvain Beucler <beuc@gnu.org>.
36117
36118 2007-11-03  Bruno Haible  <bruno@clisp.org>
36119
36120         * tests/test-fprintf-posix2.sh: New file.
36121         * tests/test-fprintf-posix2.c: New file.
36122         * modules/fprintf-posix-tests (Files): Add them.
36123         (TESTS): Add test-fprintf-posix2.sh.
36124         (configure.ac): Check for getrlimit and setrlimit.
36125         (check_PROGRAMS): Add test-fprintf-posix2.
36126
36127         * tests/test-printf-posix2.sh: New file.
36128         * tests/test-printf-posix2.c: New file.
36129         * modules/printf-posix-tests (Files): Add them.
36130         (TESTS): Add test-printf-posix2.sh.
36131         (configure.ac): Check for getrlimit and setrlimit.
36132         (check_PROGRAMS): Add test-printf-posix2.
36133
36134         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
36135         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
36136         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
36137         (decode_double): New function, copied from decode_long_double.
36138         (scale10_round_decimal_decoded): New function, extracted from
36139         scale10_round_decimal_long_double.
36140         (scale10_round_decimal_long_double): Use it.
36141         (scale10_round_decimal_double): New function.
36142         (floorlog10): New function.
36143         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
36144         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
36145         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
36146         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
36147         gl_PRINTF_ENOMEM and test its result. Invoke
36148         gl_PREREQ_VASNPRINTF_ENOMEM.
36149         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
36150         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
36151         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
36152         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
36153         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
36154         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
36155         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
36156         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
36157         * modules/snprintf-posix (Depends-on): Likewise.
36158         * modules/sprintf-posix (Depends-on): Likewise.
36159         * modules/vasnprintf-posix (Depends-on): Likewise.
36160         * modules/vasprintf-posix (Depends-on): Likewise.
36161         * modules/vfprintf-posix (Depends-on): Likewise.
36162         * modules/vsnprintf-posix (Depends-on): Likewise.
36163         * modules/vsprintf-posix (Depends-on): Likewise.
36164         * doc/functions/fprintf.texi: Update.
36165         * doc/functions/printf.texi: Update.
36166         * doc/functions/snprintf.texi: Update.
36167         * doc/functions/sprintf.texi: Update.
36168         * doc/functions/vfprintf.texi: Update.
36169         * doc/functions/vprintf.texi: Update.
36170         * doc/functions/vsnprintf.texi: Update.
36171         * doc/functions/vsprintf.texi: Update.
36172
36173 2007-11-03  Bruno Haible  <bruno@clisp.org>
36174
36175         * modules/frexp-nolibm-tests: New file.
36176
36177         * modules/frexp-nolibm: New file.
36178         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
36179
36180 2007-11-03  Bruno Haible  <bruno@clisp.org>
36181
36182         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
36183         value is C99 compliant.
36184         Needed for OSF/1 5.1.
36185
36186 2007-11-03  Bruno Haible  <bruno@clisp.org>
36187
36188         Fix out-of-memory handling of vasnprintf.
36189         * lib/printf-parse.c: Include <errno.h>.
36190         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
36191         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
36192         is already set.
36193
36194 2007-11-02  Eric Blake  <ebb9@byu.net>
36195
36196         Fix tests on cygwin.
36197         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
36198
36199 2007-11-01  Bruno Haible  <bruno@clisp.org>
36200
36201         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
36202         warning.
36203         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
36204         needed for POSIX compatibility.
36205
36206 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
36207
36208         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
36209         for compatibility with GNU.
36210
36211 2007-11-01  Bruno Haible  <bruno@clisp.org>
36212
36213         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
36214         (putenv): Renamed from rpl_putenv. Change argument type from
36215         'const char *' to 'char *'.
36216         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
36217         of defining putenv in config.h, just set REPLACE_PUTENV.
36218         * modules/putenv (Depends-on): Add stdlib.
36219         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
36220         (Include): Use <stdlib.h>.
36221         * lib/stdlib.in.h (putenv): New declaration.
36222         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
36223         REPLACE_PUTENV.
36224         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
36225         REPLACE_PUTENV.
36226         Needed for MacOS X 10.5.0.
36227         Reported by Peter O'Gorman <peter@pogma.com>.
36228
36229 2007-11-01  Jim Meyering  <meyering@redhat.com>
36230
36231         Treat an empty date string exactly like "0".
36232         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
36233         if the remaining date string (to be parsed) is empty, use "0".
36234         Reported by Mischa Molhoek and discussed in this thread:
36235         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
36236
36237 2007-10-31  Bruno Haible  <bruno@clisp.org>
36238
36239         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
36240         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
36241         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
36242         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
36243         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
36244         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
36245
36246 2007-10-31  Bruno Haible  <bruno@clisp.org>
36247
36248         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
36249         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
36250         (AC_TYPE_LONG_LONG_INT): Use it.
36251         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
36252         it as well.
36253         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
36254         to m4/longlong.m4.
36255         * modules/stdint (Files): Remove m4/ulonglong.m4.
36256         * modules/strtoull (Files): Use m4/longlong.m4 instead of
36257         m4/ulonglong.m4.
36258         * modules/strtoumax (Files): Likewise.
36259
36260 2007-10-30  Bruno Haible  <bruno@clisp.org>
36261
36262         * modules/xvasprintf-posix: New file.
36263         Suggested by Eric Blake.
36264
36265 2007-10-30  Bruno Haible  <bruno@clisp.org>
36266
36267         * modules/xprintf-posix-tests: New file.
36268         * tests/test-xprintf-posix.sh: New file.
36269         * tests/test-xprintf-posix.c: New file.
36270         * tests/test-xfprintf-posix.c: New file.
36271
36272         * modules/xprintf-posix: New file.
36273
36274 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36275
36276         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
36277         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
36278         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
36279
36280 2007-10-29  Bruno Haible  <bruno@clisp.org>
36281
36282         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
36283         contain the special marker '_cv_'.
36284         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
36285         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
36286         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
36287         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
36288         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
36289         Reported by Ralf Wildenhues.
36290
36291 2007-10-29  Bruno Haible  <bruno@clisp.org>
36292
36293         * gnulib-tool (func_import): When --lgpl is not specified, set
36294         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
36295         GPLv3.
36296         Reported by Simon Josefsson.
36297
36298 2007-10-28  Bruno Haible  <bruno@clisp.org>
36299
36300         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
36301         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
36302         HAVE_DECL_ISFINITE.
36303         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
36304         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
36305         HAVE_DECL_ISFINITE.
36306
36307 2007-10-28  Bruno Haible  <bruno@clisp.org>
36308
36309         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
36310         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
36311
36312 2007-10-28  Bruno Haible  <bruno@clisp.org>
36313
36314         Fix link errors with Sun C 5.0 on Solaris 10.
36315         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
36316         function is declared but not present in the compiler's libm.
36317         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
36318         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
36319         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
36320         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
36321         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
36322         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
36323         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
36324         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
36325         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
36326         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
36327         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
36328         HAVE_DECL_FLOORL.
36329
36330 2007-10-28  Bruno Haible  <bruno@clisp.org>
36331
36332         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
36333         gl_FUNC_FLOORL. Cache the result.
36334         (gl_FUNC_FLOORL): Use it.
36335         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
36336         gl_FUNC_CEILL. Cache the result.
36337         (gl_FUNC_CEILL): Use it.
36338
36339         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
36340         gl_FUNC_FLOOR. Cache the result.
36341         (gl_FUNC_FLOOR): Use it.
36342         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
36343         gl_FUNC_CEIL. Cache the result.
36344         (gl_FUNC_CEIL): Use it.
36345
36346         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
36347         gl_FUNC_FLOORF. Cache the result.
36348         (gl_FUNC_FLOORF): Use it.
36349         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
36350         gl_FUNC_CEILF. Cache the result.
36351         (gl_FUNC_CEILF): Use it.
36352
36353 2007-10-28  Bruno Haible  <bruno@clisp.org>
36354
36355         * gnulib-tool: Allow specifying the LGPL version number through
36356         --lgpl=2 or --lgpl=3.
36357         (func_usage): Document --lgpl with argument.
36358         Handle --lgpl=... arguments.
36359         (func_import): Recognize also gl_LGPL calls with an argument. When
36360         --lgpl=2 is used and the module's license is just LGPL, report an
36361         error. Set sed_transform_lib_file according to the lgpl variable. In
36362         the generated files, use --lgpl or gl_LGPL invocations with argument,
36363         if necessary.
36364         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
36365         an LGPv2+ license.
36366         * doc/gnulib-tool.texi (Modified imports): Update explanation of
36367         gl_LGPL macro.
36368
36369 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36370             Bruno Haible  <bruno@clisp.org>
36371
36372         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
36373         (u16_uctomb_aux): Likewise.
36374         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
36375         !HAVE_INLINE.
36376         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
36377
36378 2007-10-28  Bruno Haible  <bruno@clisp.org>
36379
36380         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
36381         Invoke AM_GETTEXT_OPTION if it exists.
36382         * modules/vasprintf: Likewise.
36383         * modules/verror: Likewise.
36384         * modules/xprintf: Likewise.
36385         * modules/xvasprintf: Likewise.
36386
36387 2007-10-27  Ben Pfaff  <blp@gnu.org>
36388
36389         * lib/math.in.h: Define isfinite macro and prototypes for
36390         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
36391         implementations.
36392         * m4/math_h.m4: New substitutions for isfinite module.
36393         * lib/isfinite.c: New file.
36394         * m4/isfinite.m4: New file.
36395         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
36396         * modules/isfinite: New file.
36397         * modules/isfinite-tests: New file.
36398         * tests/tests-isfinite.c: New file.
36399         * doc/functions/isfinite.texi: Mention isfinite module.
36400         * MODULES.html.sh: Mention new module.
36401
36402 2007-10-27  Ben Pfaff  <blp@gnu.org>
36403
36404         Ralf Wildenhues reported that Tru64 4.0D declares the round
36405         functions but does not have definitions.
36406         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
36407         cannot be found in any library, set the output variable to
36408         "missing" instead of "".
36409         * m4/round.m4: Also use our substitute if we cannot find round in
36410         any library, even if it is declared.
36411         * m4/roundf.m4: Likewise for roundf.
36412         * m4/roundl.m4: Likewise for roundl.
36413         * lib/math.in.h: Undefine roundf, round, roundl before defining
36414         their replacements, to allow for hypothetical systems where these
36415         may be defined as macros but not available in libraries.
36416
36417 2007-10-27  Bruno Haible  <bruno@clisp.org>
36418
36419         * doc/gnulib.texi: Invoke @firstparagraphindent.
36420         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
36421         changes in gnulib.
36422         (Source changes): New section.
36423
36424 2007-10-26  Bruno Haible  <bruno@clisp.org>
36425
36426         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
36427         borrowed from autoconf.
36428
36429 2007-10-26  Bruno Haible  <bruno@clisp.org>
36430
36431         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
36432         strerror returned the empty string. Needed on HP-UX 11.00.
36433
36434 2007-10-24  Micah Cowan  <micah@cowan.name>
36435
36436         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
36437         * build-aux/bootstrap: Remove support for now-unnecessary option,
36438         --cvs-user, and envvars CVS_USER, CVS_RSH.
36439
36440 2007-10-24  Jim Meyering  <meyering@redhat.com>
36441
36442         Avoid diagnostics from sha1sum when there is no cached checksum.
36443         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
36444         if the po.s1 file hasn't been created yet.
36445
36446         * build-aux/bootstrap: Sync from coreutils:
36447         2007-10-24  Jim Meyering  <meyering@redhat.com>
36448         Get gnulib from the git repository, not from an obsolete cvs one.
36449         * build-aux/bootstrap: Suggestion from Micah Cowan.
36450         2007-10-04  Jim Meyering  <jim@meyering.net>
36451         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
36452         (update_po_files): Work also when there are no .po files in po/.
36453
36454 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
36455
36456         * README: Append ".git" to git and cg examples.
36457         Problem reported by Benoit Sigoure.
36458
36459 2007-10-23  Micah Cowan  <micah@cowan.name>
36460
36461         * users.txt: Add wget.
36462
36463 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36464
36465         Fix linking of some unistdio tests on FreeBSD.
36466         * modules/unistdio/u16-vsnprintf-tests
36467         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
36468         * modules/unistdio/u16-vsprintf-tests
36469         (test_u16_vsnprintf1_LDADD): Likewise.
36470         * modules/unistdio/u32-vsnprintf-tests
36471         (test_u32_vsnprintf1_LDADD): Likewise.
36472         * modules/unistdio/u32-vsprintf-tests
36473         (test_u32_vsprintf1_LDADD): Likewise.
36474         * modules/unistdio/u8-vsnprintf-tests
36475         (test_u8_vsnprintf1_LDADD): Likewise.
36476         * modules/unistdio/u8-vsprintf-tests
36477         (test_u8_vsprintf1_LDADD): Likewise.
36478         * modules/unistdio/ulc-vsnprintf-tests
36479         (test_ulc_vsnprintf1_LDADD): Likewise.
36480         * modules/unistdio/ulc-vsprintf-tests
36481         (test_ulc_vsprintf1_LDADD): Likewise.
36482
36483         Fix linking of some uniconv tests on FreeBSD.
36484         * modules/uniconv/u16-conv-from-enc-tests
36485         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
36486         * modules/uniconv/u16-conv-to-enc-tests
36487         (test_u16_conv_to_enc_LDADD): Likewise.
36488         * modules/uniconv/u16-strconv-from-enc-tests
36489         (test_u16_strconv_from_enc_LDADD): Likewise.
36490         * modules/uniconv/u16-strconv-to-enc-tests
36491         (test_u16_strconv_to_enc_LDADD): Likewise.
36492         * modules/uniconv/u32-conv-from-enc-tests
36493         (test_u32_conv_from_enc_LDADD): Likewise.
36494         * modules/uniconv/u32-conv-to-enc-tests
36495         (test_u32_conv_to_enc_LDADD): Likewise.
36496         * modules/uniconv/u32-strconv-from-enc-tests
36497         (test_u32_strconv_from_enc_LDADD): Likewise.
36498         * modules/uniconv/u32-strconv-to-enc-tests
36499         (test_u32_strconv_to_enc_LDADD): Likewise.
36500         * modules/uniconv/u8-conv-from-enc-tests
36501         (test_u8_conv_from_enc_LDADD): Likewise.
36502         * modules/uniconv/u8-conv-to-enc-tests
36503         (test_u8_conv_to_enc_LDADD): Likewise.
36504         * modules/uniconv/u8-strconv-from-enc-tests
36505         (test_u8_strconv_from_enc_LDADD): Likewise.
36506         * modules/uniconv/u8-strconv-to-enc-tests
36507         (test_u8_strconv_to_enc_LDADD): Likewise.
36508
36509 2007-10-22  Bruno Haible  <bruno@clisp.org>
36510
36511         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
36512         size.
36513
36514 2007-10-22  Eric Blake  <ebb9@byu.net>
36515
36516         Tweak x*printf documentation.
36517         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
36518         variable name and comments.
36519         Suggested by Bruno Haible.
36520
36521 2007-10-22  Bruno Haible  <bruno@clisp.org>
36522
36523         * lib/acl.c (copy_acl): Fix file name in comment.
36524
36525 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
36526
36527         Fix Tru64 problem with stdbool.h.
36528         * lib/stdbool.in.h (false, true):
36529         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
36530         Don't declare as an enum in this situation; it runs afoul of Tru64.
36531         Problem reported by Steven M. Schweda in
36532         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
36533
36534 2007-10-22  Eric Blake  <ebb9@byu.net>
36535
36536         Also wrap vf?printf.
36537         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
36538         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
36539         (xvprintf, xvfprintf): New functions.
36540
36541 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36542
36543         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
36544         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
36545
36546         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
36547         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
36548
36549 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
36550
36551         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
36552         by Bruno Haible.
36553
36554 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36555
36556         * lib/getloadavg.c
36557         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
36558         Undef `sys' after including sys/table.h, for Tru64 4.0D.
36559
36560         * tests/test-i-ring.c: Work for C89.
36561
36562 2007-10-22  Bruno Haible  <bruno@clisp.org>
36563
36564         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
36565         -1u, in preprocessor expression, so that we don't test for the bug
36566         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
36567         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
36568
36569 2007-10-22  Eric Blake  <ebb9@byu.net>
36570
36571         * tests/test-yesno.sh: Silence stderr during test.
36572
36573 2007-10-22  Simon Josefsson  <simon@josefsson.org>
36574
36575         * modules/crypto/gc-camellia: New file.
36576
36577         * m4/gc-camellia.m4: New file.
36578
36579         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
36580
36581         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
36582
36583 2007-10-22  Simon Josefsson  <simon@josefsson.org>
36584
36585         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
36586         --help to stdout.  Reported by sms@antinode.org (Steven
36587         M. Schweda).
36588
36589 2007-10-22  Simon Josefsson  <simon@josefsson.org>
36590
36591         * users.txt: Fix link to libksba.
36592
36593 2007-10-21  Ben Pfaff  <blp@gnu.org>
36594
36595         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
36596         round.c roundf implementation that depends on floorf and ceilf to
36597         be tested unconditionally.
36598
36599 2007-10-21  Ben Pfaff  <blp@gnu.org>
36600
36601         * m4/check-libm-func.m4: Removed.
36602         * m4/check-math-lib.m4: New file.
36603         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
36604         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
36605         definition and lack of AC_LIBOBJ([roundf]).
36606         * m4/roundl.m4: Ditto, and similarly for roundl.
36607         * modules/round: Reference new m4 file.
36608         * modules/roundf: Ditto.
36609         * modules/roundl: Ditto.
36610         * tests/test-round2.c (main): Use ROUND instead of round.
36611         Bug report from Bruno Haible.
36612
36613 2007-10-21  Bruno Haible  <bruno@clisp.org>
36614
36615         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
36616         context.
36617
36618 2007-10-21  Bruno Haible  <bruno@clisp.org>
36619
36620         * tests/test-wcwidth.c (main): Allow negative result for some control
36621         characters.
36622
36623         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
36624         Needed on OSF/1 5.1.
36625
36626 2007-10-21  Bruno Haible  <bruno@clisp.org>
36627
36628         * tests/test-floorf1.c: Include isnanf.h.
36629         (main): Use isnanf() instead of isnan().
36630         * tests/test-ceilf1.c: Include isnanf.h.
36631         (main): Use isnanf() instead of isnan().
36632         * tests/test-truncf1.c: Include isnanf.h.
36633         (main): Use isnanf() instead of isnan().
36634         * tests/test-roundf1.c: Include isnanf.h.
36635         (main): Use isnanf() instead of isnan().
36636
36637 2007-10-21  Eric Blake  <ebb9@byu.net>
36638
36639         * users.txt: Update URL for m4.
36640
36641 2007-10-21  Bruno Haible  <bruno@clisp.org>
36642
36643         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
36644
36645 2007-10-21  Bruno Haible  <bruno@clisp.org>
36646
36647         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
36648         Git's management files if the CVS files are not present.
36649
36650 2007-10-20  Bruno Haible  <bruno@clisp.org>
36651
36652         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
36653         gcc-3.4.x.
36654
36655 2007-10-20  Ben Pfaff  <blp@gnu.org>
36656
36657         * lib/math.in.h: Declare round, roundf, roundl if we are providing
36658         implementations.
36659         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
36660         * lib/round.c: New file.
36661         * lib/roundf.c: New file.
36662         * lib/roundl.c: New file.
36663         * m4/round.m4: New file.
36664         * m4/roundf.m4: New file.
36665         * m4/roundl.m4: New file.
36666         * m4/check-libm-func-m4: New file.
36667         * modules/math: Replace round, roundf, roundl related @VARS@ in
36668         math.in.h.
36669         * modules/round: New file.
36670         * modules/round-tests: New file.
36671         * modules/roundf: New file.
36672         * modules/roundf-tests: New file.
36673         * modules/roundl: New file.
36674         * modules/roundl-tests: New file.
36675         * tests/test-round1.c: New file.
36676         * tests/test-round2.c: New file.
36677         * tests/test-roundf1.c: New file.
36678         * tests/test-roundf2.c: New file.
36679         * tests/test-roundl.c: New file.
36680         * doc/functions/round.texi: Mention round module.
36681         * doc/functions/roundf.texi: Mention roundf module.
36682         * doc/functions/roundl.texi: Mention roundl module.
36683         * MODULES.html.sh: Mention new modules.
36684         Thanks to Bruno Haible for suggestions.
36685
36686 2007-10-20  Jim Meyering  <meyering@redhat.com>
36687
36688         * lib/xprintf.c: Include <config.h> unconditionally.
36689
36690         Change xprintf's license to GPL.
36691         * modules/xprintf (License): s/LGPL/GPL/, since this module
36692         depends on modules (exit and exitfail) which are GPL.
36693         Suggestion from Bruno Haible.
36694
36695         xprintf fixes.
36696         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
36697         Use a clearer diagnostic.
36698         Patch from Bruno Haible.
36699
36700 2007-10-20  Bruno Haible  <bruno@clisp.org>
36701
36702         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
36703         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
36704         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
36705
36706 2007-10-20  Bruno Haible  <bruno@clisp.org>
36707
36708         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
36709         precision in the comparison result > x - 1 or similar.
36710         * tests/test-ceilf2.c (correct_result_p): Likewise.
36711         * tests/test-truncf2.c (correct_result_p): Likewise.
36712         * tests/test-trunc2.c (correct_result_p): Likewise.
36713         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
36714
36715 2007-10-20  Bruno Haible  <bruno@clisp.org>
36716
36717         * modules/ceil: New file.
36718         * m4/ceil.m4: New file.
36719         * doc/functions/ceil.texi: Mention the 'ceil' module.
36720
36721 2007-10-20  Bruno Haible  <bruno@clisp.org>
36722
36723         * modules/floor: New file.
36724         * m4/floor.m4: New file.
36725         * doc/functions/floor.texi: Mention the 'floor' module.
36726
36727 2007-10-20  Bruno Haible  <bruno@clisp.org>
36728
36729         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
36730         of %a.
36731         * modules/floorf-tests (Depends-on): Likewise.
36732         * modules/truncf-tests (Depends-on): Likewise.
36733         * modules/trunc-tests (Depends-on): Likewise.
36734         Reported by Ben Pfaff.
36735
36736 2007-10-19  Jim Meyering  <meyering@redhat.com>
36737
36738         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
36739         Don't bother testing specific errno values.  Just test ferror.
36740
36741         New module: xprintf
36742         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
36743
36744 2007-10-19  Bruno Haible  <bruno@clisp.org>
36745
36746         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
36747         syntax.
36748         * modules/javaexec (Makefile.am): Likewise.
36749         * modules/relocatable-prog (Makefile.am): Likewise.
36750         Suggested by Jim Meyering.
36751
36752 2007-10-18  Bruno Haible  <bruno@clisp.org>
36753
36754         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
36755         Reported by Jim Meyering.
36756
36757 2007-10-18  Eric Blake  <ebb9@byu.net>
36758
36759         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
36760
36761 2007-10-18  Bruno Haible  <bruno@clisp.org>
36762
36763         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
36764         the format string into writable memory. Needed in Fortify conditions.
36765
36766 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
36767             Bruno Haible  <bruno@clisp.org>
36768
36769         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
36770         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
36771         * modules/trim (Depends-on): Add mbchar.
36772         (configure.ac): Add gl_FUNC_MBRTOWC.
36773         (Makefile.am): Augment lib_SOURCES.
36774
36775 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
36776
36777         Modify glob.c to use fstatat and dirfd, to simplify it.
36778         Suggested by Eric Blake.
36779         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
36780         Don't include <stdbool.h>; not used.
36781         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
36782         (link_exists_p): Simplify implementation, since we can now assume
36783         dirfd and fstatat.
36784         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
36785
36786 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36787
36788         * gnulib-tool (func_get_dependencies): Fix sed script to
36789         match only tests.
36790
36791 2007-10-17  Bruno Haible  <bruno@clisp.org>
36792
36793         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
36794         allow locale names without encoding suffix.
36795         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
36796         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
36797
36798 2007-10-16  Bruno Haible  <bruno@clisp.org>
36799
36800         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
36801         * lib/getgroups.c (getgroups): Likewise.
36802         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
36803
36804 2007-10-16  Bruno Haible  <bruno@clisp.org>
36805
36806         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
36807         * modules/malloc-posix (License): Likewise.
36808         * modules/realloc-posix (License): Likewise.
36809         * modules/calloc-posix (License): Likewise.
36810         * modules/intprops (License): Change from GPL to LGPL, with
36811         Paul Eggert's approval.
36812
36813 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
36814
36815         Merge glibc changes into lib/glob.c.
36816
36817         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
36818         2007-10-15 04:59:03 UTC.  Here are the changes:
36819
36820         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
36821
36822         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
36823
36824         * lib/glob.c: Add some branch prediction throughout.
36825
36826         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
36827
36828         [BZ #5103]
36829         * lib/glob.c (glob): Recognize patterns starting \/.
36830
36831         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
36832
36833         [BZ #3996]
36834         * lib/glob.c (attribute_hidden): Define if not defined.
36835         (glob): Unescape dirname, filename or username when needed and not
36836         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
36837         is NULL.  Handle unescaped [ in pattern without closing ].
36838         Don't pass GLOB_CHECK down to recursive glob for directories.
36839         (__glob_pattern_type): New function.
36840         (__glob_pattern_p): Implement using __glob_pattern_type.
36841         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
36842         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
36843         Remove unreachable code.
36844
36845         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
36846
36847         * lib/glob.c (glob_in_dir): Add some comments and asserts to
36848         explain why there are no leaks.
36849
36850         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
36851
36852         [BZ #3253]
36853         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
36854         time, rather allocate increasingly bigger arrays of pointers, if
36855         possible with alloca, if too large with malloc.
36856
36857 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
36858
36859         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
36860         Problem reported by H.Merijn Brand in
36861         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
36862         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
36863         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
36864
36865 2007-10-15  Bruno Haible  <bruno@clisp.org>
36866
36867         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
36868         with explicit rpl_ prefix.
36869         * lib/fopen.c (fopen): Likewise.
36870         * lib/freopen.c (freopen): Likewise.
36871         * lib/iconv.c (iconv): Likewise.
36872         * lib/iconv_close.c (iconv_close): Likewise.
36873
36874 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36875
36876         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
36877
36878 2007-10-15  Bruno Haible  <bruno@clisp.org>
36879
36880         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
36881         <stddef.h> instead of <stdlib.h> since we only need NULL.
36882         Reported by Ben Pfaff <blp@cs.stanford.edu>.
36883
36884 2007-10-15  Bruno Haible  <bruno@clisp.org>
36885
36886         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
36887         Replace paragraph talking about LIBOBJS.
36888         Reported by Colin Watson <cjwatson@debian.org>.
36889
36890 2007-10-15  Bruno Haible  <bruno@clisp.org>
36891
36892         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
36893         <stdlib.h> before using NULL.
36894
36895 2007-10-15  Simon Josefsson  <simon@josefsson.org>
36896
36897         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
36898         Reported by Albert Chin <china@thewrittenword.com>.
36899
36900 2007-10-14  Bruno Haible  <bruno@clisp.org>
36901
36902         * modules/iconv_open-utf-tests: New file.
36903         * tests/test-iconv-utf.c: New file.
36904
36905         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
36906         * modules/iconv_open-utf: New file.
36907         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
36908         (iconv, iconv_close): New declarations.
36909         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
36910         be defined.
36911         (iconv_open): Add special handling of conversion between UTF-8 and
36912         UTF-{16,32}{BE,LE}.
36913         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
36914         * lib/iconv_close.c: New file.
36915         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
36916         gl_FUNC_ICONV_OPEN.
36917         (gl_FUNC_ICONV_OPEN): Use it.
36918         (gl_FUNC_ICONV_OPEN_UTF): New macro.
36919         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
36920         and REPLACE_ICONV_UTF.
36921         * modules/iconv_open (Depends-on): Add c-strcase.
36922         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
36923         ICONV_CONST.
36924         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
36925
36926 2007-10-13  Albert Chin  <china@thewrittenword.com>
36927             Bruno Haible  <bruno@clisp.org>
36928
36929         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
36930         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
36931
36932 2007-10-13  Bruno Haible  <bruno@clisp.org>
36933
36934         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
36935         defined, use the ISO C99 inline semantics.
36936         * lib/argp.h (ARGP_EI): Likewise.
36937
36938 2007-10-13  Bruno Haible  <bruno@clisp.org>
36939
36940         Handle 'inline' change in gcc 4.3.0.
36941         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
36942         argp_fmtstream_write, argp_fmtstream_set_lmargin,
36943         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
36944         argp_fmtstream_point): Disable 'extern' declaration if the function
36945         definition is going to be provided inline.
36946         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
36947         semantics, not the ISO C99 inline semantics.
36948         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
36949         'extern' declaration if the function definition is going to be provided
36950         inline.
36951         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
36952         the GNU C inline semantics, not the ISO C99 inline semantics. With
36953         GCC 4.2, avoid a warning.
36954
36955 2007-10-13  Bruno Haible  <bruno@clisp.org>
36956
36957         * lib/freading.h (freading): Enable the use of __freading for
36958         glibc >= 2.7.
36959         * lib/freading.c (freading): Likewise.
36960
36961 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
36962
36963         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
36964         "warning: C99 inline functions are not supported; using GNU89".
36965
36966 2007-10-12  Bruno Haible  <bruno@clisp.org>
36967
36968         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
36969         of 2.
36970         * tests/test-ceilf2.c: New file.
36971         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
36972
36973         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
36974         * modules/ceilf-tests: Update.
36975
36976 2007-10-12  Bruno Haible  <bruno@clisp.org>
36977
36978         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
36979         of 2.
36980         * tests/test-floorf2.c: New file.
36981         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
36982
36983         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
36984         * modules/floorf-tests: Update.
36985
36986 2007-10-12  Bruno Haible  <bruno@clisp.org>
36987
36988         * tests/test-trunc2.c: New file.
36989         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
36990
36991         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
36992         * modules/trunc-tests: Update.
36993
36994 2007-10-12  Bruno Haible  <bruno@clisp.org>
36995
36996         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
36997         of 2.
36998         * tests/test-truncf2.c: New file.
36999         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
37000
37001         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
37002         * modules/truncf-tests: Update.
37003
37004 2007-10-11  Eric Blake  <ebb9@byu.net>
37005
37006         Don't claim strerror is broken on Interix.
37007         * doc/functions/strerror.texi (strerror): Known broken systems are
37008         now Solaris 8, and not Interix.
37009         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
37010         Interix on cross-compile.
37011         Reported by Martin Koeppe in
37012         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
37013
37014 2007-10-11  Bruno Haible  <bruno@clisp.org>
37015
37016         * modules/i-ring-tests: New file.
37017         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
37018         instead of assert.
37019
37020 2007-10-11  Bruno Haible  <bruno@clisp.org>
37021
37022         * modules/filenamecat-tests: New file.
37023         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
37024         * lib/filenamecat.c: Remove test code.
37025
37026 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
37027
37028         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
37029
37030         * lib/strerror.c: Include <string.h> always, to test interface,
37031         and to remove the need for the dummy.
37032         Include intprops.h to compute width instead of doing it ourselves
37033         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
37034         (strerror): Define it to return NULL if there's no system strerror.
37035         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
37036         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
37037         ancient pre-strerror Unix systems well any more.  Saying "unknown
37038         system error" is enough.
37039         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
37040         simpler strerror.c implementation.
37041         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
37042         Simplify the tests to reflect the simpler strerror implementation.
37043         * modules/strerror (Depends-on): Add intprops.
37044
37045 2007-10-09  Eric Blake  <ebb9@byu.net>
37046
37047         Silence test-fpending.
37048         * modules/fpending-tests (Files): Add wrapper script.
37049         * tests/test-fpending.sh: New file.
37050
37051 2007-10-09  Bruno Haible  <bruno@clisp.org>
37052
37053         * MODULES.html.sh (func_module): Don't create a hyperlink for
37054         function names like 'printf_frexp'.
37055         (Misc): Add crc, memxor.
37056         (Characteristics of floating types): New section.
37057         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
37058         isnanf-nolibm, signbit, trunc, truncf, truncl.
37059         (Enhancements for ISO C 99 functions): New subsection Input/output.
37060         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
37061         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
37062         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
37063         (Compatibility checks for POSIX:2001 functions): Add clock-time.
37064         (Enhancements for POSIX:2001 functions): Add chdir-long.
37065         (File system functions): Add areadlink, chdir-safer, read-file.
37066         Remove cycle-check.
37067         (File system as inode set): New section.
37068         (Date and time): Add gethrxtime.
37069         (Multithreading): Add openmp.
37070         (Internationalization functions): Add localename.
37071         (Unicode string functions): Add unistr/u*-mbsnlen.
37072         (Support for maintaining and releasing projects): Add git-version-gen.
37073         (Lone files): Remove directories.
37074
37075 2007-10-08  Ben Pfaff  <blp@gnu.org>
37076
37077         * lib/xmalloca.h: Fix typo in comment.
37078
37079 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
37080
37081         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
37082         when avoiding problems with integer overflow.  Use a portable test
37083         instead.
37084
37085 2007-10-08  Simon Josefsson  <simon@josefsson.org>
37086
37087         * modules/dummy (License): Change to LGPLv2+.
37088         * modules/float (License): Likewise
37089         * modules/realloc (License): Likewise
37090         * modules/stdlib (License): Likewise
37091
37092 2007-10-07  Bruno Haible  <bruno@clisp.org>
37093
37094         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
37095         * floor.c (TWO_MANT_DIG): Likewise.
37096         * ceil.c (TWO_MANT_DIG): Likewise.
37097         Reported by Ben Pfaff.
37098
37099 2007-10-07  Bruno Haible  <bruno@clisp.org>
37100
37101         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
37102         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
37103         * lib/frexp.c (FUNC): Likewise.
37104         * lib/printf-frexp.h (printf_frexp): Likewise.
37105         * lib/printf-frexpl.h (printf_frexpl): Likewise.
37106         * lib/printf-frexp.c (FUNC): Likewise.
37107         Suggested by Jim Meyering.
37108
37109 2007-10-07  Jim Meyering  <meyering@redhat.com>
37110
37111         Make xnanosleep's integer overflow test more robust.
37112         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
37113         so that gcc-4.3.0 doesn't optimize away this test for overflow.
37114
37115 2007-10-07  Bruno Haible  <bruno@clisp.org>
37116
37117         * NEWS: Mention the license change.
37118
37119         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
37120         abbreviations in the modules files.
37121
37122         Change copyright notice from GPLv2+ to GPLv3+.
37123         * README: Change copyright notice.
37124         * MODULES.html.sh: Likewise.
37125         * build-aux/bootstrap.conf: Likewise.
37126         * build-aux/config.libpath: Likewise.
37127         * build-aux/csharpcomp.sh.in: Likewise.
37128         * build-aux/csharpexec.sh.in: Likewise.
37129         * build-aux/install-reloc: Likewise.
37130         * build-aux/javacomp.sh.in: Likewise.
37131         * build-aux/javaexec.sh.in: Likewise.
37132         * build-aux/ldd.sh.in: Likewise.
37133         * build-aux/reloc-ldflags: Likewise.
37134         * build-aux/relocatable.sh.in: Likewise.
37135         * build-aux/x-to-1.in: Likewise.
37136         * check-module: Likewise.
37137         * config/srclistvars.sh: Likewise.
37138         * gnulib-tool: Likewise.
37139         * lib/acl-internal.h: Likewise.
37140         * lib/acl.c: Likewise.
37141         * lib/acl.h: Likewise.
37142         * lib/acl_entries.c: Likewise.
37143         * lib/areadlink-with-size.c: Likewise.
37144         * lib/areadlink.c: Likewise.
37145         * lib/areadlink.h: Likewise.
37146         * lib/argmatch.c: Likewise.
37147         * lib/argmatch.h: Likewise.
37148         * lib/argp-ba.c: Likewise.
37149         * lib/argp-eexst.c: Likewise.
37150         * lib/argp-fmtstream.c: Likewise.
37151         * lib/argp-fmtstream.h: Likewise.
37152         * lib/argp-fs-xinl.c: Likewise.
37153         * lib/argp-help.c: Likewise.
37154         * lib/argp-namefrob.h: Likewise.
37155         * lib/argp-parse.c: Likewise.
37156         * lib/argp-pin.c: Likewise.
37157         * lib/argp-pv.c: Likewise.
37158         * lib/argp-pvh.c: Likewise.
37159         * lib/argp-xinl.c: Likewise.
37160         * lib/argp.h: Likewise.
37161         * lib/at-func.c: Likewise.
37162         * lib/atanl.c: Likewise.
37163         * lib/backupfile.c: Likewise.
37164         * lib/backupfile.h: Likewise.
37165         * lib/basename.c: Likewise.
37166         * lib/binary-io.h: Likewise.
37167         * lib/byteswap.in.h: Likewise.
37168         * lib/c-stack.c: Likewise.
37169         * lib/c-stack.h: Likewise.
37170         * lib/c-strcasestr.c: Likewise.
37171         * lib/c-strcasestr.h: Likewise.
37172         * lib/c-strstr.c: Likewise.
37173         * lib/c-strstr.h: Likewise.
37174         * lib/c-strtod.c: Likewise.
37175         * lib/calloc.c: Likewise.
37176         * lib/canon-host.c: Likewise.
37177         * lib/canon-host.h: Likewise.
37178         * lib/canonicalize-lgpl.c: Likewise.
37179         * lib/canonicalize.c: Likewise.
37180         * lib/canonicalize.h: Likewise.
37181         * lib/ceil.c: Likewise.
37182         * lib/ceilf.c: Likewise.
37183         * lib/ceill.c: Likewise.
37184         * lib/chdir-long.c: Likewise.
37185         * lib/chdir-long.h: Likewise.
37186         * lib/chdir-safer.c: Likewise.
37187         * lib/chdir-safer.h: Likewise.
37188         * lib/chown.c: Likewise.
37189         * lib/classpath.c: Likewise.
37190         * lib/classpath.h: Likewise.
37191         * lib/clean-temp.c: Likewise.
37192         * lib/clean-temp.h: Likewise.
37193         * lib/cloexec.c: Likewise.
37194         * lib/close-stream.c: Likewise.
37195         * lib/closein.c: Likewise.
37196         * lib/closein.h: Likewise.
37197         * lib/closeout.c: Likewise.
37198         * lib/closeout.h: Likewise.
37199         * lib/concat-filename.c: Likewise.
37200         * lib/copy-file.c: Likewise.
37201         * lib/copy-file.h: Likewise.
37202         * lib/count-one-bits.h: Likewise.
37203         * lib/crc.c: Likewise.
37204         * lib/crc.h: Likewise.
37205         * lib/creat-safer.c: Likewise.
37206         * lib/csharpcomp.c: Likewise.
37207         * lib/csharpcomp.h: Likewise.
37208         * lib/csharpexec.c: Likewise.
37209         * lib/csharpexec.h: Likewise.
37210         * lib/cycle-check.c: Likewise.
37211         * lib/cycle-check.h: Likewise.
37212         * lib/diacrit.c: Likewise.
37213         * lib/diacrit.h: Likewise.
37214         * lib/diffseq.h: Likewise.
37215         * lib/dirchownmod.c: Likewise.
37216         * lib/dirent.in.h: Likewise.
37217         * lib/dirfd.c: Likewise.
37218         * lib/dirfd.h: Likewise.
37219         * lib/dirname.c: Likewise.
37220         * lib/dirname.h: Likewise.
37221         * lib/dummy.c: Likewise.
37222         * lib/dup-safer.c: Likewise.
37223         * lib/dup2.c: Likewise.
37224         * lib/eealloc.h: Likewise.
37225         * lib/error.c: Likewise.
37226         * lib/error.h: Likewise.
37227         * lib/euidaccess.c: Likewise.
37228         * lib/exclude.c: Likewise.
37229         * lib/exclude.h: Likewise.
37230         * lib/execute.c: Likewise.
37231         * lib/execute.h: Likewise.
37232         * lib/exitfail.c: Likewise.
37233         * lib/exitfail.h: Likewise.
37234         * lib/expl.c: Likewise.
37235         * lib/fatal-signal.c: Likewise.
37236         * lib/fatal-signal.h: Likewise.
37237         * lib/fbufmode.c: Likewise.
37238         * lib/fbufmode.h: Likewise.
37239         * lib/fchdir.c: Likewise.
37240         * lib/fchmodat.c: Likewise.
37241         * lib/fchownat.c: Likewise.
37242         * lib/fcntl--.h: Likewise.
37243         * lib/fcntl-safer.h: Likewise.
37244         * lib/fcntl.in.h: Likewise.
37245         * lib/fd-safer.c: Likewise.
37246         * lib/fflush.c: Likewise.
37247         * lib/file-has-acl.c: Likewise.
37248         * lib/file-set.c: Likewise.
37249         * lib/file-type.c: Likewise.
37250         * lib/file-type.h: Likewise.
37251         * lib/fileblocks.c: Likewise.
37252         * lib/filemode.c: Likewise.
37253         * lib/filemode.h: Likewise.
37254         * lib/filename.h: Likewise.
37255         * lib/filenamecat.c: Likewise.
37256         * lib/filenamecat.h: Likewise.
37257         * lib/findprog.c: Likewise.
37258         * lib/findprog.h: Likewise.
37259         * lib/float.in.h: Likewise.
37260         * lib/floor.c: Likewise.
37261         * lib/floorf.c: Likewise.
37262         * lib/floorl.c: Likewise.
37263         * lib/fopen-safer.c: Likewise.
37264         * lib/fopen.c: Likewise.
37265         * lib/fpending.c: Likewise.
37266         * lib/fpending.h: Likewise.
37267         * lib/fprintf.c: Likewise.
37268         * lib/fprintftime.h: Likewise.
37269         * lib/fpucw.h: Likewise.
37270         * lib/fpurge.c: Likewise.
37271         * lib/fpurge.h: Likewise.
37272         * lib/freadable.c: Likewise.
37273         * lib/freadable.h: Likewise.
37274         * lib/freadahead.c: Likewise.
37275         * lib/freadahead.h: Likewise.
37276         * lib/freading.c: Likewise.
37277         * lib/freading.h: Likewise.
37278         * lib/free.c: Likewise.
37279         * lib/freopen.c: Likewise.
37280         * lib/frexp.c: Likewise.
37281         * lib/frexpl.c: Likewise.
37282         * lib/fseek.c: Likewise.
37283         * lib/fseterr.c: Likewise.
37284         * lib/fseterr.h: Likewise.
37285         * lib/fstatat.c: Likewise.
37286         * lib/fstrcmp.c: Likewise.
37287         * lib/fstrcmp.h: Likewise.
37288         * lib/fsusage.c: Likewise.
37289         * lib/fsusage.h: Likewise.
37290         * lib/ftell.c: Likewise.
37291         * lib/ftello.c: Likewise.
37292         * lib/fts-cycle.c: Likewise.
37293         * lib/fts.c: Likewise.
37294         * lib/fts_.h: Likewise.
37295         * lib/full-read.c: Likewise.
37296         * lib/full-read.h: Likewise.
37297         * lib/full-write.c: Likewise.
37298         * lib/full-write.h: Likewise.
37299         * lib/fwritable.c: Likewise.
37300         * lib/fwritable.h: Likewise.
37301         * lib/fwriteerror.c: Likewise.
37302         * lib/fwriteerror.h: Likewise.
37303         * lib/fwriting.c: Likewise.
37304         * lib/fwriting.h: Likewise.
37305         * lib/gcd.c: Likewise.
37306         * lib/gcd.h: Likewise.
37307         * lib/getcwd.c: Likewise.
37308         * lib/getdate.h: Likewise.
37309         * lib/getdate.y: Likewise.
37310         * lib/getdomainname.c: Likewise.
37311         * lib/getdomainname.h: Likewise.
37312         * lib/getgroups.c: Likewise.
37313         * lib/gethostname.c: Likewise.
37314         * lib/gethrxtime.c: Likewise.
37315         * lib/gethrxtime.h: Likewise.
37316         * lib/getloadavg.c: Likewise.
37317         * lib/getndelim2.c: Likewise.
37318         * lib/getndelim2.h: Likewise.
37319         * lib/getnline.c: Likewise.
37320         * lib/getnline.h: Likewise.
37321         * lib/getopt.c: Likewise.
37322         * lib/getopt.in.h: Likewise.
37323         * lib/getopt1.c: Likewise.
37324         * lib/getopt_int.h: Likewise.
37325         * lib/getpagesize.h: Likewise.
37326         * lib/getsubopt.c: Likewise.
37327         * lib/gettime.c: Likewise.
37328         * lib/getugroups.c: Likewise.
37329         * lib/getugroups.h: Likewise.
37330         * lib/getusershell.c: Likewise.
37331         * lib/gl_anyavltree_list1.h: Likewise.
37332         * lib/gl_anyavltree_list2.h: Likewise.
37333         * lib/gl_anyhash_list1.h: Likewise.
37334         * lib/gl_anyhash_list2.h: Likewise.
37335         * lib/gl_anylinked_list1.h: Likewise.
37336         * lib/gl_anylinked_list2.h: Likewise.
37337         * lib/gl_anyrbtree_list1.h: Likewise.
37338         * lib/gl_anyrbtree_list2.h: Likewise.
37339         * lib/gl_anytree_list1.h: Likewise.
37340         * lib/gl_anytree_list2.h: Likewise.
37341         * lib/gl_anytree_oset.h: Likewise.
37342         * lib/gl_anytreehash_list1.h: Likewise.
37343         * lib/gl_anytreehash_list2.h: Likewise.
37344         * lib/gl_array_list.c: Likewise.
37345         * lib/gl_array_list.h: Likewise.
37346         * lib/gl_array_oset.c: Likewise.
37347         * lib/gl_array_oset.h: Likewise.
37348         * lib/gl_avltree_list.c: Likewise.
37349         * lib/gl_avltree_list.h: Likewise.
37350         * lib/gl_avltree_oset.c: Likewise.
37351         * lib/gl_avltree_oset.h: Likewise.
37352         * lib/gl_avltreehash_list.c: Likewise.
37353         * lib/gl_avltreehash_list.h: Likewise.
37354         * lib/gl_carray_list.c: Likewise.
37355         * lib/gl_carray_list.h: Likewise.
37356         * lib/gl_linked_list.c: Likewise.
37357         * lib/gl_linked_list.h: Likewise.
37358         * lib/gl_linkedhash_list.c: Likewise.
37359         * lib/gl_linkedhash_list.h: Likewise.
37360         * lib/gl_list.c: Likewise.
37361         * lib/gl_list.h: Likewise.
37362         * lib/gl_oset.c: Likewise.
37363         * lib/gl_oset.h: Likewise.
37364         * lib/gl_rbtree_list.c: Likewise.
37365         * lib/gl_rbtree_list.h: Likewise.
37366         * lib/gl_rbtree_oset.c: Likewise.
37367         * lib/gl_rbtree_oset.h: Likewise.
37368         * lib/gl_rbtreehash_list.c: Likewise.
37369         * lib/gl_rbtreehash_list.h: Likewise.
37370         * lib/gl_sublist.c: Likewise.
37371         * lib/gl_sublist.h: Likewise.
37372         * lib/group-member.c: Likewise.
37373         * lib/group-member.h: Likewise.
37374         * lib/hard-locale.c: Likewise.
37375         * lib/hard-locale.h: Likewise.
37376         * lib/hash-pjw.c: Likewise.
37377         * lib/hash-pjw.h: Likewise.
37378         * lib/hash-triple.c: Likewise.
37379         * lib/hash.c: Likewise.
37380         * lib/hash.h: Likewise.
37381         * lib/human.c: Likewise.
37382         * lib/human.h: Likewise.
37383         * lib/i-ring.c: Likewise.
37384         * lib/i-ring.h: Likewise.
37385         * lib/idcache.c: Likewise.
37386         * lib/imaxabs.c: Likewise.
37387         * lib/imaxdiv.c: Likewise.
37388         * lib/inet_pton.c: Likewise.
37389         * lib/inet_pton.h: Likewise.
37390         * lib/intprops.h: Likewise.
37391         * lib/inttostr.c: Likewise.
37392         * lib/inttostr.h: Likewise.
37393         * lib/inttypes.in.h: Likewise.
37394         * lib/isapipe.c: Likewise.
37395         * lib/isdir.c: Likewise.
37396         * lib/isnan.c: Likewise.
37397         * lib/isnan.h: Likewise.
37398         * lib/isnanf.c: Likewise.
37399         * lib/isnanf.h: Likewise.
37400         * lib/isnanl-nolibm.h: Likewise.
37401         * lib/isnanl.c: Likewise.
37402         * lib/isnanl.h: Likewise.
37403         * lib/javacomp.c: Likewise.
37404         * lib/javacomp.h: Likewise.
37405         * lib/javaexec.c: Likewise.
37406         * lib/javaexec.h: Likewise.
37407         * lib/javaversion.c: Likewise.
37408         * lib/javaversion.h: Likewise.
37409         * lib/javaversion.java: Likewise.
37410         * lib/lbrkprop.h: Likewise.
37411         * lib/lchmod.h: Likewise.
37412         * lib/lchown.c: Likewise.
37413         * lib/ldexpl.c: Likewise.
37414         * lib/linebreak.c: Likewise.
37415         * lib/linebreak.h: Likewise.
37416         * lib/linebuffer.c: Likewise.
37417         * lib/linebuffer.h: Likewise.
37418         * lib/locale.in.h: Likewise.
37419         * lib/logl.c: Likewise.
37420         * lib/long-options.c: Likewise.
37421         * lib/long-options.h: Likewise.
37422         * lib/lstat.c: Likewise.
37423         * lib/lstat.h: Likewise.
37424         * lib/math.in.h: Likewise.
37425         * lib/mbchar.c: Likewise.
37426         * lib/mbchar.h: Likewise.
37427         * lib/mbfile.h: Likewise.
37428         * lib/mbiter.h: Likewise.
37429         * lib/mbscasecmp.c: Likewise.
37430         * lib/mbscasestr.c: Likewise.
37431         * lib/mbschr.c: Likewise.
37432         * lib/mbscspn.c: Likewise.
37433         * lib/mbslen.c: Likewise.
37434         * lib/mbsncasecmp.c: Likewise.
37435         * lib/mbsnlen.c: Likewise.
37436         * lib/mbspbrk.c: Likewise.
37437         * lib/mbspcasecmp.c: Likewise.
37438         * lib/mbsrchr.c: Likewise.
37439         * lib/mbssep.c: Likewise.
37440         * lib/mbsspn.c: Likewise.
37441         * lib/mbsstr.c: Likewise.
37442         * lib/mbstok_r.c: Likewise.
37443         * lib/mbswidth.c: Likewise.
37444         * lib/mbswidth.h: Likewise.
37445         * lib/mbuiter.h: Likewise.
37446         * lib/memcasecmp.c: Likewise.
37447         * lib/memcasecmp.h: Likewise.
37448         * lib/memchr.c: Likewise.
37449         * lib/memcmp.c: Likewise.
37450         * lib/memcoll.c: Likewise.
37451         * lib/memcoll.h: Likewise.
37452         * lib/memcpy.c: Likewise.
37453         * lib/memrchr.c: Likewise.
37454         * lib/mkancesdirs.c: Likewise.
37455         * lib/mkdir-p.c: Likewise.
37456         * lib/mkdir-p.h: Likewise.
37457         * lib/mkdir.c: Likewise.
37458         * lib/mkdirat.c: Likewise.
37459         * lib/mkdtemp.c: Likewise.
37460         * lib/mkstemp-safer.c: Likewise.
37461         * lib/mkstemp.c: Likewise.
37462         * lib/modechange.c: Likewise.
37463         * lib/modechange.h: Likewise.
37464         * lib/mountlist.c: Likewise.
37465         * lib/mountlist.h: Likewise.
37466         * lib/mpsort.c: Likewise.
37467         * lib/nanosleep.c: Likewise.
37468         * lib/obstack.c: Likewise.
37469         * lib/obstack.h: Likewise.
37470         * lib/open-safer.c: Likewise.
37471         * lib/open.c: Likewise.
37472         * lib/openat-die.c: Likewise.
37473         * lib/openat-priv.h: Likewise.
37474         * lib/openat-proc.c: Likewise.
37475         * lib/openat.c: Likewise.
37476         * lib/openat.h: Likewise.
37477         * lib/pagealign_alloc.c: Likewise.
37478         * lib/pagealign_alloc.h: Likewise.
37479         * lib/physmem.c: Likewise.
37480         * lib/physmem.h: Likewise.
37481         * lib/pipe-safer.c: Likewise.
37482         * lib/pipe.c: Likewise.
37483         * lib/pipe.h: Likewise.
37484         * lib/posixtm.c: Likewise.
37485         * lib/posixtm.h: Likewise.
37486         * lib/posixver.c: Likewise.
37487         * lib/printf-frexp.c: Likewise.
37488         * lib/printf-frexp.h: Likewise.
37489         * lib/printf-frexpl.c: Likewise.
37490         * lib/printf-frexpl.h: Likewise.
37491         * lib/printf.c: Likewise.
37492         * lib/progname.c: Likewise.
37493         * lib/progname.h: Likewise.
37494         * lib/progreloc.c: Likewise.
37495         * lib/putenv.c: Likewise.
37496         * lib/quote.c: Likewise.
37497         * lib/quote.h: Likewise.
37498         * lib/quotearg.c: Likewise.
37499         * lib/quotearg.h: Likewise.
37500         * lib/raise.c: Likewise.
37501         * lib/readline.c: Likewise.
37502         * lib/readline.h: Likewise.
37503         * lib/readlink.c: Likewise.
37504         * lib/readtokens.c: Likewise.
37505         * lib/readtokens.h: Likewise.
37506         * lib/readtokens0.c: Likewise.
37507         * lib/readtokens0.h: Likewise.
37508         * lib/readutmp.c: Likewise.
37509         * lib/readutmp.h: Likewise.
37510         * lib/realloc.c: Likewise.
37511         * lib/relocwrapper.c: Likewise.
37512         * lib/rename-dest-slash.c: Likewise.
37513         * lib/rename.c: Likewise.
37514         * lib/rmdir.c: Likewise.
37515         * lib/rpmatch.c: Likewise.
37516         * lib/safe-read.c: Likewise.
37517         * lib/safe-read.h: Likewise.
37518         * lib/safe-write.c: Likewise.
37519         * lib/safe-write.h: Likewise.
37520         * lib/same-inode.h: Likewise.
37521         * lib/same.c: Likewise.
37522         * lib/same.h: Likewise.
37523         * lib/save-cwd.c: Likewise.
37524         * lib/save-cwd.h: Likewise.
37525         * lib/savedir.c: Likewise.
37526         * lib/savedir.h: Likewise.
37527         * lib/savewd.c: Likewise.
37528         * lib/savewd.h: Likewise.
37529         * lib/search.in.h: Likewise.
37530         * lib/setenv.c: Likewise.
37531         * lib/setenv.h: Likewise.
37532         * lib/settime.c: Likewise.
37533         * lib/sh-quote.c: Likewise.
37534         * lib/sh-quote.h: Likewise.
37535         * lib/sig2str.c: Likewise.
37536         * lib/sig2str.h: Likewise.
37537         * lib/signal.in.h: Likewise.
37538         * lib/signbitd.c: Likewise.
37539         * lib/signbitf.c: Likewise.
37540         * lib/signbitl.c: Likewise.
37541         * lib/sigprocmask.c: Likewise.
37542         * lib/sincosl.c: Likewise.
37543         * lib/sleep.c: Likewise.
37544         * lib/sprintf.c: Likewise.
37545         * lib/sqrtl.c: Likewise.
37546         * lib/stat-time.h: Likewise.
37547         * lib/stdio--.h: Likewise.
37548         * lib/stdio-safer.h: Likewise.
37549         * lib/stdlib--.h: Likewise.
37550         * lib/stdlib-safer.h: Likewise.
37551         * lib/stdlib.in.h: Likewise.
37552         * lib/stpcpy.c: Likewise.
37553         * lib/stpncpy.c: Likewise.
37554         * lib/strchrnul.c: Likewise.
37555         * lib/strcspn.c: Likewise.
37556         * lib/strerror.c: Likewise.
37557         * lib/strftime.c: Likewise.
37558         * lib/strftime.h: Likewise.
37559         * lib/striconveh.c: Likewise.
37560         * lib/striconveh.h: Likewise.
37561         * lib/striconveha.c: Likewise.
37562         * lib/striconveha.h: Likewise.
37563         * lib/stripslash.c: Likewise.
37564         * lib/strnlen1.c: Likewise.
37565         * lib/strnlen1.h: Likewise.
37566         * lib/strtod.c: Likewise.
37567         * lib/strtoimax.c: Likewise.
37568         * lib/strtok_r.c: Likewise.
37569         * lib/strtol.c: Likewise.
37570         * lib/strtoll.c: Likewise.
37571         * lib/strtoul.c: Likewise.
37572         * lib/strtoull.c: Likewise.
37573         * lib/sysexits.in.h: Likewise.
37574         * lib/tempname.c: Likewise.
37575         * lib/tempname.h: Likewise.
37576         * lib/timespec.h: Likewise.
37577         * lib/tls.c: Likewise.
37578         * lib/tls.h: Likewise.
37579         * lib/tmpdir.c: Likewise.
37580         * lib/tmpdir.h: Likewise.
37581         * lib/tmpfile-safer.c: Likewise.
37582         * lib/tmpfile.c: Likewise.
37583         * lib/trigl.c: Likewise.
37584         * lib/trigl.h: Likewise.
37585         * lib/trim.c: Likewise.
37586         * lib/trim.h: Likewise.
37587         * lib/trunc.c: Likewise.
37588         * lib/truncf.c: Likewise.
37589         * lib/truncl.c: Likewise.
37590         * lib/tsearch.c: Likewise.
37591         * lib/unicodeio.c: Likewise.
37592         * lib/unicodeio.h: Likewise.
37593         * lib/unistd--.h: Likewise.
37594         * lib/unistd-safer.h: Likewise.
37595         * lib/unistdio/ulc-fprintf.c: Likewise.
37596         * lib/unistdio/ulc-vfprintf.c: Likewise.
37597         * lib/unlinkdir.c: Likewise.
37598         * lib/unlinkdir.h: Likewise.
37599         * lib/unlocked-io.h: Likewise.
37600         * lib/unsetenv.c: Likewise.
37601         * lib/userspec.c: Likewise.
37602         * lib/utime.c: Likewise.
37603         * lib/utimecmp.c: Likewise.
37604         * lib/utimecmp.h: Likewise.
37605         * lib/utimens.c: Likewise.
37606         * lib/verify.h: Likewise.
37607         * lib/verror.c: Likewise.
37608         * lib/verror.h: Likewise.
37609         * lib/version-etc-fsf.c: Likewise.
37610         * lib/version-etc.c: Likewise.
37611         * lib/version-etc.h: Likewise.
37612         * lib/vfprintf.c: Likewise.
37613         * lib/vprintf.c: Likewise.
37614         * lib/vsprintf.c: Likewise.
37615         * lib/w32spawn.h: Likewise.
37616         * lib/wait-process.c: Likewise.
37617         * lib/wait-process.h: Likewise.
37618         * lib/wcwidth.c: Likewise.
37619         * lib/write-any-file.c: Likewise.
37620         * lib/xalloc-die.c: Likewise.
37621         * lib/xalloc.h: Likewise.
37622         * lib/xasprintf.c: Likewise.
37623         * lib/xgetcwd.c: Likewise.
37624         * lib/xgetcwd.h: Likewise.
37625         * lib/xgetdomainname.c: Likewise.
37626         * lib/xgetdomainname.h: Likewise.
37627         * lib/xgethostname.c: Likewise.
37628         * lib/xmalloc.c: Likewise.
37629         * lib/xmalloca.c: Likewise.
37630         * lib/xmalloca.h: Likewise.
37631         * lib/xmemcoll.c: Likewise.
37632         * lib/xnanosleep.c: Likewise.
37633         * lib/xreadlink.c: Likewise.
37634         * lib/xreadlink.h: Likewise.
37635         * lib/xsetenv.c: Likewise.
37636         * lib/xsetenv.h: Likewise.
37637         * lib/xstriconv.c: Likewise.
37638         * lib/xstriconv.h: Likewise.
37639         * lib/xstrndup.c: Likewise.
37640         * lib/xstrndup.h: Likewise.
37641         * lib/xstrtod.c: Likewise.
37642         * lib/xstrtod.h: Likewise.
37643         * lib/xstrtol-error.c: Likewise.
37644         * lib/xstrtol.c: Likewise.
37645         * lib/xstrtol.h: Likewise.
37646         * lib/xtime.h: Likewise.
37647         * lib/xvasprintf.c: Likewise.
37648         * lib/xvasprintf.h: Likewise.
37649         * lib/yesno.c: Likewise.
37650         * lib/yesno.h: Likewise.
37651         * posix-modules: Likewise.
37652         * tests/test-alloca-opt.c: Likewise.
37653         * tests/test-arcfour.c: Likewise.
37654         * tests/test-arctwo.c: Likewise.
37655         * tests/test-argmatch.c: Likewise.
37656         * tests/test-argp-2.sh: Likewise.
37657         * tests/test-argp.c: Likewise.
37658         * tests/test-arpa_inet.c: Likewise.
37659         * tests/test-array_list.c: Likewise.
37660         * tests/test-array_oset.c: Likewise.
37661         * tests/test-atexit.c: Likewise.
37662         * tests/test-avltree_list.c: Likewise.
37663         * tests/test-avltree_oset.c: Likewise.
37664         * tests/test-avltreehash_list.c: Likewise.
37665         * tests/test-base64.c: Likewise.
37666         * tests/test-binary-io.c: Likewise.
37667         * tests/test-byteswap.c: Likewise.
37668         * tests/test-c-ctype.c: Likewise.
37669         * tests/test-c-strcasecmp.c: Likewise.
37670         * tests/test-c-strcasestr.c: Likewise.
37671         * tests/test-c-strncasecmp.c: Likewise.
37672         * tests/test-c-strstr.c: Likewise.
37673         * tests/test-canonicalize-lgpl.c: Likewise.
37674         * tests/test-canonicalize.c: Likewise.
37675         * tests/test-carray_list.c: Likewise.
37676         * tests/test-ceilf.c: Likewise.
37677         * tests/test-ceill.c: Likewise.
37678         * tests/test-count-one-bits.c: Likewise.
37679         * tests/test-crc.c: Likewise.
37680         * tests/test-dirname.c: Likewise.
37681         * tests/test-fbufmode.c: Likewise.
37682         * tests/test-fcntl.c: Likewise.
37683         * tests/test-fflush.c: Likewise.
37684         * tests/test-floorf.c: Likewise.
37685         * tests/test-floorl.c: Likewise.
37686         * tests/test-fopen.c: Likewise.
37687         * tests/test-fprintf-posix.c: Likewise.
37688         * tests/test-fprintf-posix.h: Likewise.
37689         * tests/test-fpurge.c: Likewise.
37690         * tests/test-freadable.c: Likewise.
37691         * tests/test-freadahead.c: Likewise.
37692         * tests/test-freading.c: Likewise.
37693         * tests/test-freopen.c: Likewise.
37694         * tests/test-frexp.c: Likewise.
37695         * tests/test-frexpl.c: Likewise.
37696         * tests/test-fseek.c: Likewise.
37697         * tests/test-fseeko.c: Likewise.
37698         * tests/test-fseterr.c: Likewise.
37699         * tests/test-fstrcmp.c: Likewise.
37700         * tests/test-ftell.c: Likewise.
37701         * tests/test-ftello.c: Likewise.
37702         * tests/test-fwritable.c: Likewise.
37703         * tests/test-fwriting.c: Likewise.
37704         * tests/test-getaddrinfo.c: Likewise.
37705         * tests/test-getpass.c: Likewise.
37706         * tests/test-gettimeofday.c: Likewise.
37707         * tests/test-hmac-md5.c: Likewise.
37708         * tests/test-hmac-sha1.c: Likewise.
37709         * tests/test-iconv.c: Likewise.
37710         * tests/test-iconvme.c: Likewise.
37711         * tests/test-inttypes.c: Likewise.
37712         * tests/test-isnan.c: Likewise.
37713         * tests/test-isnanf.c: Likewise.
37714         * tests/test-isnanl-nolibm.c: Likewise.
37715         * tests/test-isnanl.c: Likewise.
37716         * tests/test-isnanl.h: Likewise.
37717         * tests/test-ldexpl.c: Likewise.
37718         * tests/test-linked_list.c: Likewise.
37719         * tests/test-linkedhash_list.c: Likewise.
37720         * tests/test-locale.c: Likewise.
37721         * tests/test-localename.c: Likewise.
37722         * tests/test-lock.c: Likewise.
37723         * tests/test-lseek.c: Likewise.
37724         * tests/test-malloca.c: Likewise.
37725         * tests/test-math.c: Likewise.
37726         * tests/test-mbscasecmp.c: Likewise.
37727         * tests/test-mbscasestr1.c: Likewise.
37728         * tests/test-mbscasestr2.c: Likewise.
37729         * tests/test-mbscasestr3.c: Likewise.
37730         * tests/test-mbscasestr4.c: Likewise.
37731         * tests/test-mbschr.c: Likewise.
37732         * tests/test-mbscspn.c: Likewise.
37733         * tests/test-mbsncasecmp.c: Likewise.
37734         * tests/test-mbspbrk.c: Likewise.
37735         * tests/test-mbspcasecmp.c: Likewise.
37736         * tests/test-mbsrchr.c: Likewise.
37737         * tests/test-mbsspn.c: Likewise.
37738         * tests/test-mbsstr1.c: Likewise.
37739         * tests/test-mbsstr2.c: Likewise.
37740         * tests/test-mbsstr3.c: Likewise.
37741         * tests/test-md5.c: Likewise.
37742         * tests/test-memmem.c: Likewise.
37743         * tests/test-netinet_in.c: Likewise.
37744         * tests/test-open.c: Likewise.
37745         * tests/test-printf-frexp.c: Likewise.
37746         * tests/test-printf-frexpl.c: Likewise.
37747         * tests/test-printf-posix.c: Likewise.
37748         * tests/test-printf-posix.h: Likewise.
37749         * tests/test-rbtree_list.c: Likewise.
37750         * tests/test-rbtree_oset.c: Likewise.
37751         * tests/test-rbtreehash_list.c: Likewise.
37752         * tests/test-read-file.c: Likewise.
37753         * tests/test-rijndael.c: Likewise.
37754         * tests/test-search.c: Likewise.
37755         * tests/test-signbit.c: Likewise.
37756         * tests/test-sleep.c: Likewise.
37757         * tests/test-snprintf-posix.c: Likewise.
37758         * tests/test-snprintf-posix.h: Likewise.
37759         * tests/test-snprintf.c: Likewise.
37760         * tests/test-sprintf-posix.c: Likewise.
37761         * tests/test-sprintf-posix.h: Likewise.
37762         * tests/test-stat-time.c: Likewise.
37763         * tests/test-stdbool.c: Likewise.
37764         * tests/test-stdint.c: Likewise.
37765         * tests/test-stdio.c: Likewise.
37766         * tests/test-stdlib.c: Likewise.
37767         * tests/test-stpncpy.c: Likewise.
37768         * tests/test-strcasestr.c: Likewise.
37769         * tests/test-striconv.c: Likewise.
37770         * tests/test-striconveh.c: Likewise.
37771         * tests/test-striconveha.c: Likewise.
37772         * tests/test-string.c: Likewise.
37773         * tests/test-sys_select.c: Likewise.
37774         * tests/test-sys_socket.c: Likewise.
37775         * tests/test-sys_stat.c: Likewise.
37776         * tests/test-sys_time.c: Likewise.
37777         * tests/test-sysexits.c: Likewise.
37778         * tests/test-time.c: Likewise.
37779         * tests/test-tls.c: Likewise.
37780         * tests/test-trunc.c: Likewise.
37781         * tests/test-truncf.c: Likewise.
37782         * tests/test-truncl.c: Likewise.
37783         * tests/test-unistd.c: Likewise.
37784         * tests/test-vasnprintf-posix.c: Likewise.
37785         * tests/test-vasnprintf-posix2.c: Likewise.
37786         * tests/test-vasnprintf.c: Likewise.
37787         * tests/test-vasprintf-posix.c: Likewise.
37788         * tests/test-vasprintf.c: Likewise.
37789         * tests/test-verify.c: Likewise.
37790         * tests/test-vfprintf-posix.c: Likewise.
37791         * tests/test-vprintf-posix.c: Likewise.
37792         * tests/test-vsnprintf-posix.c: Likewise.
37793         * tests/test-vsnprintf.c: Likewise.
37794         * tests/test-vsprintf-posix.c: Likewise.
37795         * tests/test-wchar.c: Likewise.
37796         * tests/test-wctype.c: Likewise.
37797         * tests/test-wcwidth.c: Likewise.
37798         * tests/test-xstrtol.c: Likewise.
37799         * tests/test-xvasprintf.c: Likewise.
37800         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
37801         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
37802         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
37803         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
37804         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
37805         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
37806         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
37807         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
37808         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
37809         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
37810         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
37811         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
37812         * tests/uniname/test-uninames.c: Likewise.
37813         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
37814         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
37815         * tests/unistdio/test-u16-printf1.h: Likewise.
37816         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
37817         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
37818         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
37819         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
37820         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
37821         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
37822         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
37823         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
37824         * tests/unistdio/test-u32-printf1.h: Likewise.
37825         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
37826         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
37827         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
37828         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
37829         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
37830         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
37831         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
37832         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
37833         * tests/unistdio/test-u8-printf1.h: Likewise.
37834         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
37835         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
37836         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
37837         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
37838         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
37839         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
37840         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
37841         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
37842         * tests/unistdio/test-ulc-printf1.h: Likewise.
37843         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
37844         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
37845         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
37846         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
37847         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
37848         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
37849         * tests/uniwidth/test-u16-strwidth.c: Likewise.
37850         * tests/uniwidth/test-u16-width.c: Likewise.
37851         * tests/uniwidth/test-u32-strwidth.c: Likewise.
37852         * tests/uniwidth/test-u32-width.c: Likewise.
37853         * tests/uniwidth/test-u8-strwidth.c: Likewise.
37854         * tests/uniwidth/test-u8-width.c: Likewise.
37855         * tests/uniwidth/test-uc_width.c: Likewise.
37856         * config/srclist-update: Likewise.
37857         (fixlicense): Update to GPLv3+.
37858
37859         Change copyright notice from LGPLv2.1+ to LGPLv3+.
37860         * tests/test-tsearch.c: Change copyright notice.
37861
37862         Change copyright notice from LGPLv2.0+ to LGPLv3+.
37863         * lib/c-strcaseeq.h: Change copyright notice.
37864         * lib/streq.h: Likewise.
37865         * lib/uniconv.h: Likewise.
37866         * lib/uniconv/u-conv-from-enc.h: Likewise.
37867         * lib/uniconv/u-conv-to-enc.h: Likewise.
37868         * lib/uniconv/u-strconv-from-enc.h: Likewise.
37869         * lib/uniconv/u-strconv-to-enc.h: Likewise.
37870         * lib/uniconv/u16-conv-from-enc.c: Likewise.
37871         * lib/uniconv/u16-conv-to-enc.c: Likewise.
37872         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
37873         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
37874         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
37875         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
37876         * lib/uniconv/u32-conv-from-enc.c: Likewise.
37877         * lib/uniconv/u32-conv-to-enc.c: Likewise.
37878         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
37879         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
37880         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
37881         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
37882         * lib/uniconv/u8-conv-from-enc.c: Likewise.
37883         * lib/uniconv/u8-conv-to-enc.c: Likewise.
37884         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
37885         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
37886         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
37887         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
37888         * lib/uniname.h: Likewise.
37889         * lib/uniname/uniname.c: Likewise.
37890         * lib/unistdio.h: Likewise.
37891         * lib/unistdio/u-asnprintf.h: Likewise.
37892         * lib/unistdio/u-asprintf.h: Likewise.
37893         * lib/unistdio/u-printf-args.c: Likewise.
37894         * lib/unistdio/u-printf-args.h: Likewise.
37895         * lib/unistdio/u-printf-parse.h: Likewise.
37896         * lib/unistdio/u-snprintf.h: Likewise.
37897         * lib/unistdio/u-sprintf.h: Likewise.
37898         * lib/unistdio/u-vasprintf.h: Likewise.
37899         * lib/unistdio/u-vsnprintf.h: Likewise.
37900         * lib/unistdio/u-vsprintf.h: Likewise.
37901         * lib/unistdio/u16-asnprintf.c: Likewise.
37902         * lib/unistdio/u16-asprintf.c: Likewise.
37903         * lib/unistdio/u16-printf-parse.c: Likewise.
37904         * lib/unistdio/u16-snprintf.c: Likewise.
37905         * lib/unistdio/u16-sprintf.c: Likewise.
37906         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
37907         * lib/unistdio/u16-u16-asprintf.c: Likewise.
37908         * lib/unistdio/u16-u16-snprintf.c: Likewise.
37909         * lib/unistdio/u16-u16-sprintf.c: Likewise.
37910         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
37911         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
37912         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
37913         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
37914         * lib/unistdio/u16-vasnprintf.c: Likewise.
37915         * lib/unistdio/u16-vasprintf.c: Likewise.
37916         * lib/unistdio/u16-vsnprintf.c: Likewise.
37917         * lib/unistdio/u16-vsprintf.c: Likewise.
37918         * lib/unistdio/u32-asnprintf.c: Likewise.
37919         * lib/unistdio/u32-asprintf.c: Likewise.
37920         * lib/unistdio/u32-printf-parse.c: Likewise.
37921         * lib/unistdio/u32-snprintf.c: Likewise.
37922         * lib/unistdio/u32-sprintf.c: Likewise.
37923         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
37924         * lib/unistdio/u32-u32-asprintf.c: Likewise.
37925         * lib/unistdio/u32-u32-snprintf.c: Likewise.
37926         * lib/unistdio/u32-u32-sprintf.c: Likewise.
37927         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
37928         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
37929         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
37930         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
37931         * lib/unistdio/u32-vasnprintf.c: Likewise.
37932         * lib/unistdio/u32-vasprintf.c: Likewise.
37933         * lib/unistdio/u32-vsnprintf.c: Likewise.
37934         * lib/unistdio/u32-vsprintf.c: Likewise.
37935         * lib/unistdio/u8-asnprintf.c: Likewise.
37936         * lib/unistdio/u8-asprintf.c: Likewise.
37937         * lib/unistdio/u8-printf-parse.c: Likewise.
37938         * lib/unistdio/u8-snprintf.c: Likewise.
37939         * lib/unistdio/u8-sprintf.c: Likewise.
37940         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
37941         * lib/unistdio/u8-u8-asprintf.c: Likewise.
37942         * lib/unistdio/u8-u8-snprintf.c: Likewise.
37943         * lib/unistdio/u8-u8-sprintf.c: Likewise.
37944         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
37945         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
37946         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
37947         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
37948         * lib/unistdio/u8-vasnprintf.c: Likewise.
37949         * lib/unistdio/u8-vasprintf.c: Likewise.
37950         * lib/unistdio/u8-vsnprintf.c: Likewise.
37951         * lib/unistdio/u8-vsprintf.c: Likewise.
37952         * lib/unistdio/ulc-asnprintf.c: Likewise.
37953         * lib/unistdio/ulc-asprintf.c: Likewise.
37954         * lib/unistdio/ulc-printf-parse.c: Likewise.
37955         * lib/unistdio/ulc-snprintf.c: Likewise.
37956         * lib/unistdio/ulc-sprintf.c: Likewise.
37957         * lib/unistdio/ulc-vasnprintf.c: Likewise.
37958         * lib/unistdio/ulc-vasprintf.c: Likewise.
37959         * lib/unistdio/ulc-vsnprintf.c: Likewise.
37960         * lib/unistdio/ulc-vsprintf.c: Likewise.
37961         * lib/unistr.h: Likewise.
37962         * lib/unistr/u-cpy-alloc.h: Likewise.
37963         * lib/unistr/u-cpy.h: Likewise.
37964         * lib/unistr/u-endswith.h: Likewise.
37965         * lib/unistr/u-move.h: Likewise.
37966         * lib/unistr/u-set.h: Likewise.
37967         * lib/unistr/u-startswith.h: Likewise.
37968         * lib/unistr/u-stpcpy.h: Likewise.
37969         * lib/unistr/u-stpncpy.h: Likewise.
37970         * lib/unistr/u-strcat.h: Likewise.
37971         * lib/unistr/u-strcpy.h: Likewise.
37972         * lib/unistr/u-strcspn.h: Likewise.
37973         * lib/unistr/u-strdup.h: Likewise.
37974         * lib/unistr/u-strlen.h: Likewise.
37975         * lib/unistr/u-strncat.h: Likewise.
37976         * lib/unistr/u-strncpy.h: Likewise.
37977         * lib/unistr/u-strnlen.h: Likewise.
37978         * lib/unistr/u-strpbrk.h: Likewise.
37979         * lib/unistr/u-strspn.h: Likewise.
37980         * lib/unistr/u-strstr.h: Likewise.
37981         * lib/unistr/u-strtok.h: Likewise.
37982         * lib/unistr/u16-check.c: Likewise.
37983         * lib/unistr/u16-chr.c: Likewise.
37984         * lib/unistr/u16-cmp.c: Likewise.
37985         * lib/unistr/u16-cpy-alloc.c: Likewise.
37986         * lib/unistr/u16-cpy.c: Likewise.
37987         * lib/unistr/u16-endswith.c: Likewise.
37988         * lib/unistr/u16-mblen.c: Likewise.
37989         * lib/unistr/u16-mbsnlen.c: Likewise.
37990         * lib/unistr/u16-mbtouc-aux.c: Likewise.
37991         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
37992         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
37993         * lib/unistr/u16-mbtouc.c: Likewise.
37994         * lib/unistr/u16-mbtoucr.c: Likewise.
37995         * lib/unistr/u16-move.c: Likewise.
37996         * lib/unistr/u16-next.c: Likewise.
37997         * lib/unistr/u16-prev.c: Likewise.
37998         * lib/unistr/u16-set.c: Likewise.
37999         * lib/unistr/u16-startswith.c: Likewise.
38000         * lib/unistr/u16-stpcpy.c: Likewise.
38001         * lib/unistr/u16-stpncpy.c: Likewise.
38002         * lib/unistr/u16-strcat.c: Likewise.
38003         * lib/unistr/u16-strchr.c: Likewise.
38004         * lib/unistr/u16-strcmp.c: Likewise.
38005         * lib/unistr/u16-strcpy.c: Likewise.
38006         * lib/unistr/u16-strcspn.c: Likewise.
38007         * lib/unistr/u16-strdup.c: Likewise.
38008         * lib/unistr/u16-strlen.c: Likewise.
38009         * lib/unistr/u16-strmblen.c: Likewise.
38010         * lib/unistr/u16-strmbtouc.c: Likewise.
38011         * lib/unistr/u16-strncat.c: Likewise.
38012         * lib/unistr/u16-strncmp.c: Likewise.
38013         * lib/unistr/u16-strncpy.c: Likewise.
38014         * lib/unistr/u16-strnlen.c: Likewise.
38015         * lib/unistr/u16-strpbrk.c: Likewise.
38016         * lib/unistr/u16-strrchr.c: Likewise.
38017         * lib/unistr/u16-strspn.c: Likewise.
38018         * lib/unistr/u16-strstr.c: Likewise.
38019         * lib/unistr/u16-strtok.c: Likewise.
38020         * lib/unistr/u16-to-u32.c: Likewise.
38021         * lib/unistr/u16-to-u8.c: Likewise.
38022         * lib/unistr/u16-uctomb-aux.c: Likewise.
38023         * lib/unistr/u16-uctomb.c: Likewise.
38024         * lib/unistr/u32-check.c: Likewise.
38025         * lib/unistr/u32-chr.c: Likewise.
38026         * lib/unistr/u32-cmp.c: Likewise.
38027         * lib/unistr/u32-cpy-alloc.c: Likewise.
38028         * lib/unistr/u32-cpy.c: Likewise.
38029         * lib/unistr/u32-endswith.c: Likewise.
38030         * lib/unistr/u32-mblen.c: Likewise.
38031         * lib/unistr/u32-mbsnlen.c: Likewise.
38032         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
38033         * lib/unistr/u32-mbtouc.c: Likewise.
38034         * lib/unistr/u32-mbtoucr.c: Likewise.
38035         * lib/unistr/u32-move.c: Likewise.
38036         * lib/unistr/u32-next.c: Likewise.
38037         * lib/unistr/u32-prev.c: Likewise.
38038         * lib/unistr/u32-set.c: Likewise.
38039         * lib/unistr/u32-startswith.c: Likewise.
38040         * lib/unistr/u32-stpcpy.c: Likewise.
38041         * lib/unistr/u32-stpncpy.c: Likewise.
38042         * lib/unistr/u32-strcat.c: Likewise.
38043         * lib/unistr/u32-strchr.c: Likewise.
38044         * lib/unistr/u32-strcmp.c: Likewise.
38045         * lib/unistr/u32-strcpy.c: Likewise.
38046         * lib/unistr/u32-strcspn.c: Likewise.
38047         * lib/unistr/u32-strdup.c: Likewise.
38048         * lib/unistr/u32-strlen.c: Likewise.
38049         * lib/unistr/u32-strmblen.c: Likewise.
38050         * lib/unistr/u32-strmbtouc.c: Likewise.
38051         * lib/unistr/u32-strncat.c: Likewise.
38052         * lib/unistr/u32-strncmp.c: Likewise.
38053         * lib/unistr/u32-strncpy.c: Likewise.
38054         * lib/unistr/u32-strnlen.c: Likewise.
38055         * lib/unistr/u32-strpbrk.c: Likewise.
38056         * lib/unistr/u32-strrchr.c: Likewise.
38057         * lib/unistr/u32-strspn.c: Likewise.
38058         * lib/unistr/u32-strstr.c: Likewise.
38059         * lib/unistr/u32-strtok.c: Likewise.
38060         * lib/unistr/u32-to-u16.c: Likewise.
38061         * lib/unistr/u32-to-u8.c: Likewise.
38062         * lib/unistr/u32-uctomb.c: Likewise.
38063         * lib/unistr/u8-check.c: Likewise.
38064         * lib/unistr/u8-chr.c: Likewise.
38065         * lib/unistr/u8-cmp.c: Likewise.
38066         * lib/unistr/u8-cpy-alloc.c: Likewise.
38067         * lib/unistr/u8-cpy.c: Likewise.
38068         * lib/unistr/u8-endswith.c: Likewise.
38069         * lib/unistr/u8-mblen.c: Likewise.
38070         * lib/unistr/u8-mbsnlen.c: Likewise.
38071         * lib/unistr/u8-mbtouc-aux.c: Likewise.
38072         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
38073         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
38074         * lib/unistr/u8-mbtouc.c: Likewise.
38075         * lib/unistr/u8-mbtoucr.c: Likewise.
38076         * lib/unistr/u8-move.c: Likewise.
38077         * lib/unistr/u8-next.c: Likewise.
38078         * lib/unistr/u8-prev.c: Likewise.
38079         * lib/unistr/u8-set.c: Likewise.
38080         * lib/unistr/u8-startswith.c: Likewise.
38081         * lib/unistr/u8-stpcpy.c: Likewise.
38082         * lib/unistr/u8-stpncpy.c: Likewise.
38083         * lib/unistr/u8-strcat.c: Likewise.
38084         * lib/unistr/u8-strchr.c: Likewise.
38085         * lib/unistr/u8-strcmp.c: Likewise.
38086         * lib/unistr/u8-strcpy.c: Likewise.
38087         * lib/unistr/u8-strcspn.c: Likewise.
38088         * lib/unistr/u8-strdup.c: Likewise.
38089         * lib/unistr/u8-strlen.c: Likewise.
38090         * lib/unistr/u8-strmblen.c: Likewise.
38091         * lib/unistr/u8-strmbtouc.c: Likewise.
38092         * lib/unistr/u8-strncat.c: Likewise.
38093         * lib/unistr/u8-strncmp.c: Likewise.
38094         * lib/unistr/u8-strncpy.c: Likewise.
38095         * lib/unistr/u8-strnlen.c: Likewise.
38096         * lib/unistr/u8-strpbrk.c: Likewise.
38097         * lib/unistr/u8-strrchr.c: Likewise.
38098         * lib/unistr/u8-strspn.c: Likewise.
38099         * lib/unistr/u8-strstr.c: Likewise.
38100         * lib/unistr/u8-strtok.c: Likewise.
38101         * lib/unistr/u8-to-u16.c: Likewise.
38102         * lib/unistr/u8-to-u32.c: Likewise.
38103         * lib/unistr/u8-uctomb-aux.c: Likewise.
38104         * lib/unistr/u8-uctomb.c: Likewise.
38105         * lib/unitypes.h: Likewise.
38106         * lib/uniwidth.h: Likewise.
38107         * lib/uniwidth/cjk.h: Likewise.
38108         * lib/uniwidth/u16-strwidth.c: Likewise.
38109         * lib/uniwidth/u16-width.c: Likewise.
38110         * lib/uniwidth/u32-strwidth.c: Likewise.
38111         * lib/uniwidth/u32-width.c: Likewise.
38112         * lib/uniwidth/u8-strwidth.c: Likewise.
38113         * lib/uniwidth/u8-width.c: Likewise.
38114         * lib/uniwidth/width.c: Likewise.
38115
38116 2007-10-07  Bruno Haible  <bruno@clisp.org>
38117
38118         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
38119         The file is still under LGPL (see modules/inttypes).
38120
38121 2007-10-06  Bruno Haible  <bruno@clisp.org>
38122
38123         * modules/trunc (Dependencies): Add 'extensions'.
38124         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
38125         Reported by Ben Pfaff <blp@gnu.org>.
38126
38127 2007-10-06  Bruno Haible  <bruno@clisp.org>
38128
38129         * modules/freopen-tests: New file.
38130         * tests/test-freopen.c: New file.
38131
38132         * modules/fopen-tests: New file.
38133         * tests/test-fopen.c: New file.
38134
38135         * modules/fopen: New file.
38136         * lib/fopen.c: New file.
38137         * m4/fopen.m4: New file.
38138         * modules/freopen: New file.
38139         * lib/freopen.c: New file.
38140         * m4/freopen.m4: New file.
38141         * lib/stdio.in.h (fopen, freopen): New declarations.
38142         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
38143         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
38144         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
38145         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
38146         * doc/functions/fopen.texi: Mention the 'fopen' module.
38147         * doc/functions/freopen.texi: Mention the 'freopen' module.
38148
38149 2007-10-06  Bruno Haible  <bruno@clisp.org>
38150
38151         * modules/open-tests: New file.
38152         * tests/test-open.c: New file.
38153
38154         * modules/open: New file.
38155         * lib/open.c: New file.
38156         * m4/open.m4: New file.
38157         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
38158         lib/open.c does.
38159         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
38160         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
38161         macros.
38162         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
38163         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
38164         REPLACE_OPEN.
38165         * doc/functions/open.texi: Mention the 'open' module.
38166
38167 2007-10-04  Bruno Haible  <bruno@clisp.org>
38168
38169         * modules/ceill-tests: New file.
38170         * tests/test-ceill.c: New file.
38171
38172         * modules/ceill: New file.
38173         * lib/ceill.c: Replace entire file.
38174         * m4/ceill.m4: New file.
38175         * lib/math.in.h (ceill): Replace declaration.
38176         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
38177         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
38178         * doc/functions/ceill.texi: Mention the 'ceill' module.
38179         * modules/mathl (Files): Remove lib/ceill.c.
38180         (Depends-on): Add ceill.
38181
38182 2007-10-04  Bruno Haible  <bruno@clisp.org>
38183
38184         * modules/ceilf-tests: New file.
38185         * tests/test-ceilf.c: New file.
38186
38187         * modules/ceilf: New file.
38188         * lib/ceil.c: New file.
38189         * lib/ceilf.c: New file.
38190         * m4/ceilf.m4: New file.
38191         * lib/math.in.h (ceilf): New declaration.
38192         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
38193         HAVE_DECL_CEILF.
38194         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
38195         HAVE_DECL_CEILF.
38196         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
38197
38198 2007-10-04  Bruno Haible  <bruno@clisp.org>
38199
38200         * modules/floorl-tests: New file.
38201         * tests/test-floorl.c: New file.
38202
38203         * modules/floorl: New file.
38204         * lib/floorl.c: Replace entire file.
38205         * m4/floorl.m4: New file.
38206         * lib/math.in.h (floorl): Replace declaration.
38207         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
38208         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
38209         * doc/functions/floorl.texi: Mention the 'floorl' module.
38210         * modules/mathl (Files): Remove lib/floorl.c.
38211         (Depends-on): Add floorl.
38212
38213 2007-10-04  Bruno Haible  <bruno@clisp.org>
38214
38215         * modules/floorf-tests: New file.
38216         * tests/test-floorf.c: New file.
38217
38218         * modules/floorf: New file.
38219         * lib/floor.c: New file.
38220         * lib/floorf.c: New file.
38221         * m4/floorf.m4: New file.
38222         * lib/math.in.h (floorf): New declaration.
38223         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
38224         HAVE_DECL_FLOORF.
38225         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
38226         HAVE_DECL_FLOORF.
38227         * doc/functions/floorf.texi: Mention the 'floorf' module.
38228
38229 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
38230             Bruno Haible  <bruno@clisp.org>
38231
38232         Advertise for the Git server instead of the CVS server.
38233         * doc/gnulib-intro.texi (Steady Development): Mention the Git
38234         repository instead of the CVS one.
38235         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
38236         about all VCS systems generically.
38237         * doc/gnulib.texi (Introduction): Capitalize `Git'.
38238
38239 2007-10-04  Bruno Haible  <bruno@clisp.org>
38240
38241         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
38242         means.
38243         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
38244
38245 2007-10-04  Bruno Haible  <bruno@clisp.org>
38246
38247         * modules/truncl-tests: New file.
38248         * tests/test-truncl.c: New file.
38249
38250         * modules/truncl: New file.
38251         * lib/truncl.c: New file.
38252         * m4/truncl.m4: New file.
38253         * lib/math.in.h (truncl): New declaration.
38254         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
38255         HAVE_DECL_TRUNCL.
38256         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
38257         HAVE_DECL_TRUNCL.
38258         * doc/functions/truncl.texi: Mention the 'truncl' module.
38259
38260 2007-10-04  Bruno Haible  <bruno@clisp.org>
38261
38262         * modules/truncf-tests: New file.
38263         * tests/test-truncf.c: New file.
38264
38265         * modules/truncf: New file.
38266         * lib/trunc.c: Make paramerizable through USE_* macros.
38267         * lib/truncf.c: New file.
38268         * m4/truncf.m4: New file.
38269         * lib/math.in.h (truncf): New declaration.
38270         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
38271         HAVE_DECL_TRUNCF.
38272         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
38273         HAVE_DECL_TRUNCF.
38274         * doc/functions/truncf.texi: Mention the 'truncf' module.
38275
38276 2007-10-03  Bruno Haible  <bruno@clisp.org>
38277
38278         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
38279         augmentation also for tests modules.
38280         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
38281         * modules/atexit-tests (Makefile.am): Likewise.
38282         * modules/binary-io-tests (Makefile.am): Likewise.
38283         * modules/c-strcase-tests (Makefile.am): Likewise.
38284         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
38285         * modules/canonicalize-tests (Makefile.am): Likewise.
38286         * modules/closein-tests (Makefile.am): Likewise.
38287         * modules/fprintf-posix-tests (Makefile.am): Likewise.
38288         * modules/freadahead-tests (Makefile.am): Likewise.
38289         * modules/fseek-tests (Makefile.am): Likewise.
38290         * modules/fseeko-tests (Makefile.am): Likewise.
38291         * modules/ftell-tests (Makefile.am): Likewise.
38292         * modules/ftello-tests (Makefile.am): Likewise.
38293         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
38294         * modules/isnanl-tests (Makefile.am): Likewise.
38295         * modules/lseek-tests (Makefile.am): Likewise.
38296         * modules/mbscasecmp-tests (Makefile.am): Likewise.
38297         * modules/mbscasestr-tests (Makefile.am): Likewise.
38298         * modules/mbschr-tests (Makefile.am): Likewise.
38299         * modules/mbscspn-tests (Makefile.am): Likewise.
38300         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
38301         * modules/mbspbrk-tests (Makefile.am): Likewise.
38302         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
38303         * modules/mbsrchr-tests (Makefile.am): Likewise.
38304         * modules/mbsspn-tests (Makefile.am): Likewise.
38305         * modules/mbsstr-tests (Makefile.am): Likewise.
38306         * modules/printf-posix-tests (Makefile.am): Likewise.
38307         * modules/snprintf-posix-tests (Makefile.am): Likewise.
38308         * modules/sprintf-posix-tests (Makefile.am): Likewise.
38309         * modules/tsearch-tests (Makefile.am): Likewise.
38310         * modules/uniname/uniname-tests (Makefile.am): Likewise.
38311         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
38312         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
38313         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
38314         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
38315         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
38316         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
38317         * modules/vprintf-posix-tests (Makefile.am): Likewise.
38318         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
38319         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
38320         * modules/xstrtoimax-tests (Makefile.am): Likewise.
38321         * modules/xstrtol-tests (Makefile.am): Likewise.
38322         * modules/xstrtoumax-tests (Makefile.am): Likewise.
38323         * modules/yesno-tests (Makefile.am): Likewise.
38324
38325 2007-10-03  Bruno Haible  <bruno@clisp.org>
38326
38327         * modules/trunc-tests: New file.
38328         * tests/test-trunc.c: New file.
38329
38330         * modules/trunc: New file.
38331         * lib/trunc.c: New file.
38332         * m4/trunc.m4: New file.
38333         * lib/math.in.h (trunc): New declaration.
38334         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
38335         HAVE_DECL_TRUNC.
38336         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
38337         HAVE_DECL_TRUNC.
38338         * doc/functions/trunc.texi: Mention the 'trunc' module.
38339
38340 2007-10-03  Bruno Haible  <bruno@clisp.org>
38341
38342         * tests/test-fpending.c: New file, mostly copied
38343         from coreutils/lib/t-fpending.c.
38344         * modules/fpending-tests: New file.
38345
38346 2007-10-03  Bruno Haible  <bruno@clisp.org>
38347
38348         Port the stdio extensions to QNX (untested).
38349         * lib/fseterr.c (fseterr): Add support for QNX.
38350         * lib/fbufmode.c (fbufmode): Likewise.
38351         * lib/freadable.c (freadable): Likewise.
38352         * lib/fwritable.c (fwritable): Likewise.
38353         * lib/freading.c (freading): Likewise.
38354         * lib/fwriting.c (fwriting): Likewise.
38355         * lib/freadahead.c (freadahed): Likewise.
38356         * lib/fpurge.c (fpurge): Likewise.
38357         * lib/fseeko.c (rpl_fseeko): Likewise.
38358
38359 2007-10-03  Bruno Haible  <bruno@clisp.org>
38360             Jim Meyering  <jim@meyering.net>
38361             Eric Blake  <ebb9@byu.net>
38362
38363         * doc/relocatable.texi: Use @command instead of @program.
38364
38365 2007-10-02  Jim Meyering  <jim@meyering.net>
38366
38367         Perform one more "_.h" -> ".in.h" substitution.
38368         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
38369         instead of unistd_.h here, too.
38370
38371 2007-10-01  Bruno Haible  <bruno@clisp.org>
38372
38373         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
38374         Needed for the alloca-opt module.
38375
38376 2007-09-30  Bruno Haible  <bruno@clisp.org>
38377
38378         * lib/alloca.in.h: Renamed from lib/alloca_.h.
38379         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
38380         alloca_.h.
38381         * lib/argz.in.h: Renamed from lib/argz_.h.
38382         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
38383         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
38384         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
38385         byteswap_.h.
38386         * lib/dirent.in.h: Renamed from lib/dirent_.h.
38387         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
38388         dirent_.h.
38389         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
38390         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
38391         fcntl_.h.
38392         * lib/float.in.h: Renamed from lib/float_.h.
38393         * modules/float (Files, Makefile.am): Use float.in.h instead of
38394         float_.h.
38395         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
38396         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
38397         fnmatch_.h.
38398         * lib/getopt.in.h: Renamed from lib/getopt_.h.
38399         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
38400         getopt_.h.
38401         * lib/glob.in.h: Renamed from lib/glob_.h.
38402         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
38403         * lib/iconv.in.h: Renamed from lib/iconv_.h.
38404         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
38405         iconv_.h.
38406         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
38407         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
38408         inttypes_.h.
38409         * lib/locale.in.h: Renamed from lib/locale_.h.
38410         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
38411         locale_.h.
38412         * lib/math.in.h: Renamed from lib/math_.h.
38413         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
38414         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
38415         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
38416         of netinet_in_.h. Add dependency.
38417         * lib/poll.in.h: Renamed from lib/poll_.h.
38418         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
38419         * lib/search.in.h: Renamed from lib/search_.h.
38420         * modules/search (Files, Makefile.am): Use search.in.h instead of
38421         search_.h.
38422         * lib/signal.in.h: Renamed from lib/signal_.h.
38423         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
38424         _signal.h.
38425         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
38426         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
38427         stdbool_.h.
38428         * lib/stdint.in.h: Renamed from lib/stdint_.h.
38429         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
38430         stdint_.h.
38431         * lib/stdio.in.h: Renamed from lib/stdio_.h.
38432         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
38433         stdio_.h.
38434         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
38435         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
38436         stdlib_.h.
38437         * lib/string.in.h: Renamed from lib/string_.h.
38438         * modules/string (Files, Makefile.am): Use string.in.h instead of
38439         string_.h.
38440         * doc/gnulib-tool.texi (Initial import): Update.
38441         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
38442         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
38443         of sys_select_.h. Add dependency.
38444         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
38445         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
38446         of sys_socket_.h.
38447         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
38448         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
38449         sys_stat_.h.
38450         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
38451         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
38452         sys_time_.h.
38453         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
38454         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
38455         sysexits_.h.
38456         * lib/time.in.h: Renamed from lib/time_.h.
38457         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
38458         * lib/unistd.in.h: Renamed from lib/unistd_.h.
38459         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
38460         unistd_.h.
38461         * lib/wchar.in.h: Renamed from lib/wchar_.h.
38462         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
38463         wchar_.h.
38464         * lib/wctype.in.h: Renamed from lib/wctype_.h.
38465         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
38466         wctype_.h.
38467         * build-aux/bootstrap (slurp): Update.
38468         * lib/.cppi-disable: Update.
38469
38470 2007-09-30  Bruno Haible  <bruno@clisp.org>
38471
38472         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
38473         Needed on BeOS.
38474
38475 2007-09-30  Bruno Haible  <bruno@clisp.org>
38476
38477         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
38478
38479 2007-09-29  Bruno Haible  <bruno@clisp.org>
38480
38481         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
38482
38483 2007-09-29  Bruno Haible  <bruno@clisp.org>
38484
38485         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
38486         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
38487         * build-aux/install-reloc: Compile also areadlink.c.
38488         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
38489
38490 2007-09-29  Bruno Haible  <bruno@clisp.org>
38491
38492         * gnulib-tool (func_emit_initmacro_done): Indentation.
38493
38494 2007-09-29  Bruno Haible  <bruno@clisp.org>
38495
38496         * README: Add CVS checkout update instructions.
38497         Info from Bob Proulx <bob@proulx.com>.
38498
38499 2007-09-28  Eric Blake  <ebb9@byu.net>
38500
38501         Provide move-if-change.
38502         * build-aux/move-if-change: New file, based on best practice
38503         rather than any canonical upstream location.
38504
38505 2007-09-28  Jim Meyering  <jim@meyering.net>
38506
38507         Fix canonicalize loop-detection corner case.
38508         Do not attempt to stat the symlink values stored via seen_triple.
38509         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
38510         on linux-2.6.18, (but not 2.6.22).
38511         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
38512         triple_compare.  The former compares dev,ino,filename, while the latter
38513         would actually stat dirname(filename) when dev and ino were equal.
38514         * lib/hash-triple.c: Install <string.h>.
38515         (STREQ): Define.
38516         (triple_compare_ino_str): New function.
38517         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
38518
38519 2007-09-28  Eric Blake  <ebb9@byu.net>
38520
38521         Enforce that AC_REPLACE_FUNCS files exist.
38522         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
38523         override check for typos.
38524
38525         Fix test-closein on Solaris 10.
38526         * tests/test-closein.c (main): Don't assume stdin can be inherited
38527         closed on all systems.
38528         * tests/test-closein.sh: Likewise.
38529         Reported by Piotr Tarnowski.
38530
38531 2007-09-28  Jim Meyering  <jim@meyering.net>
38532
38533         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
38534
38535 2007-09-27  Jim Meyering  <jim@meyering.net>
38536
38537         canonicalize: Avoid a false-positive cycle failure.
38538         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
38539         Sort.  Remove cycle-check.
38540         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
38541         not cycle-check.h.
38542         (seen_triple): New function.
38543         (canonicalize_filename_mode): Use it instead of cycle-check.
38544         * tests/test-canonicalize.c: Add a test for this bug.
38545         * tests/test-canonicalize.sh: Set up and run the test.
38546
38547         New module, file-set, from coreutils.
38548         * modules/file-set: Define it.
38549         * lib/file-set.c, lib/file-set.h: Implement.
38550
38551         New module, hash-triple, from coreutils.
38552         * modules/hash-triple: Define it.
38553         * lib/hash-triple.c, lib/hash-triple.h: Implement.
38554
38555 2007-09-25  Eric Blake  <ebb9@byu.net>
38556
38557         Fix strerror on Interix.
38558         * lib/string_.h (strerror): Declare replacement.
38559         * doc/functions/strerror.texi (strerror): Document the Interix
38560         shortcoming.
38561         * modules/string (Makefile.am): Support new hooks.
38562         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
38563         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
38564         gl_FUNC_STRERROR_SEPARATE.
38565         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
38566         * lib/strerror.c (rpl_strerror): Provide replacement.
38567         * modules/strerror (Depends-on): Add string.
38568         (configure.ac): Detect use of module.
38569         * tests/test-strerror.c: New file.
38570         * modules/strerror-tests: New test module.
38571         * modules/argp (Depends-on): Add strerror.
38572         * modules/error (Depends-on): Likewise.
38573         Reported by Martin Koeppe.
38574
38575 2007-09-24  Bruno Haible  <bruno@clisp.org>
38576
38577         * README: Update git instructions.
38578
38579 2007-09-24  Eric Blake  <ebb9@byu.net>
38580
38581         Revert fpending breakage from 2007-09-08.
38582         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
38583         __fpending.c.
38584
38585 2007-09-24  Jim Meyering  <jim@meyering.net>
38586
38587         filenamecat.c: Add a test.
38588         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
38589         showing how the function works when DIR is the empty string.
38590
38591 2007-09-21  Simon Josefsson  <simon@josefsson.org>
38592
38593         * tests/test-canonicalize.sh: Turn on executable bit.
38594
38595 2007-09-19  Eric Blake  <ebb9@byu.net>
38596
38597         * README: Update CVS instructions.
38598
38599 2007-09-18  Bruno Haible  <bruno@clisp.org>
38600
38601         * modules/areadlink: New file.
38602         * lib/areadlink.h (areadlink): New declaration.
38603         * lib/areadlink.c: New file, based on lib/xreadlink.c.
38604
38605 2007-09-17  Jim Meyering  <jim@meyering.net>
38606
38607         * lib/savewd.c (ESTALE) [!defined]: Define.
38608         Reported to be required on Interix by Martin Koeppe.
38609
38610 2007-09-17  Bruno Haible  <bruno@clisp.org>
38611
38612         * gnulib-tool (func_version): Use $version.
38613
38614 2007-09-16  Bruno Haible  <bruno@clisp.org>
38615
38616         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
38617         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
38618         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
38619         Reported by Greg Schafer <gschafer@zip.com.au>.
38620
38621 2007-09-15  Bruno Haible  <bruno@clisp.org>
38622
38623         * gnulib-tool (sed): Try a little harder to make bash understand the
38624         alias.
38625         Reported by Bruce Korb <bruce.korb@gmail.com>.
38626
38627 2007-09-13  Eric Blake  <ebb9@byu.net>
38628
38629         * ChangeLog: Remove conflict markers.
38630
38631 2007-09-13  Simon Josefsson  <simon@josefsson.org>
38632
38633         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
38634         Reported by Bruno Haible <bruno@clisp.org>.
38635
38636 2007-09-12  Bruno Haible  <bruno@clisp.org>
38637
38638         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
38639         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
38640         is not defined.
38641
38642 2007-09-12  Eric Blake  <ebb9@byu.net>
38643
38644         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
38645         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
38646         Autoconf definition.
38647         * modules/euidaccess (Depends-on): Add extensions, for
38648         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
38649         * modules/fnmatch (Depends-on): Likewise.
38650         * modules/getaddrinfo (Depends-on): Likewise.
38651         * modules/getdelim (Depends-on): Likewise.
38652         * modules/getline (Depends-on): Likewise.
38653         * modules/getsubopt (Depends-on): Likewise.
38654         * modules/gettext (Depends-on): Likewise.
38655         * modules/group-member (Depends-on): Likewise.
38656         * modules/mbchar (Depends-on): Likewise.
38657         * modules/memmem (Depends-on): Likewise.
38658         * modules/mempcpy (Depends-on): Likewise.
38659         * modules/memrchr (Depends-on): Likewise.
38660         * modules/pagealign_alloc (Depends-on): Likewise.
38661         * modules/readutmp (Depends-on): Likewise.
38662         * modules/stpcpy (Depends-on): Likewise.
38663         * modules/stpncpy (Depends-on): Likewise.
38664         * modules/strchrnul (Depends-on): Likewise.
38665         * modules/strndup (Depends-on): Likewise.
38666         * modules/strsep (Depends-on): Likewise.
38667         * modules/strverscmp (Depends-on): Likewise.
38668         * modules/vasprintf (Depends-on): Likewise.
38669         * modules/wcwidth (Depends-on): Likewise.
38670         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
38671         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
38672         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
38673         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
38674         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
38675         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
38676         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
38677         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
38678         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
38679         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
38680         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
38681         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
38682         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
38683         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
38684         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
38685         * m4/readutmp.m4 (gl_READUTMP): Likewise.
38686         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
38687         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
38688         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
38689         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
38690         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
38691         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
38692         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
38693         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
38694         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
38695         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
38696         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
38697         so that lock.m4 can be used in gettext without extensions module.
38698
38699 2007-09-11  Bruno Haible  <bruno@clisp.org>
38700
38701         * m4/isc-posix.m4: Remove file.
38702         Suggested by Eric Blake.
38703
38704 2007-09-11  Eric Blake  <ebb9@byu.net>
38705
38706         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
38707
38708 2007-09-10  Bruno Haible  <bruno@clisp.org>
38709
38710         * posix-modules: Fix typo in error message.
38711         Reported by Matt <mkraai@beckman.com>.
38712
38713 2007-09-09  Bruno Haible  <bruno@clisp.org>
38714
38715         * doc/functions/getdelim.texi: Update list of platforms lacking the
38716         function.
38717         * doc/functions/getline.texi: Likewise.
38718
38719 2007-09-09  Jim Meyering  <jim@meyering.net>
38720
38721         * lib/hash.c (hash_initialize): Detect calloc failure.
38722         Reported by Bruno Haible.
38723
38724 2007-09-09  Bruno Haible  <bruno@clisp.org>
38725
38726         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
38727         malloc or realloc fails.
38728
38729 2007-09-09  Bruno Haible  <bruno@clisp.org>
38730
38731         * modules/getcwd (Depends-on): Add malloc-posix.
38732         * modules/glob (Depends-on): Likewise.
38733         * modules/putenv (Depends-on): Likewise.
38734         * modules/strdup (Depends-on): Likewise.
38735         * modules/getdelim (Depends-on): Add realloc-posix.
38736         * modules/read-file (Depends-on): Likewise.
38737
38738 2007-09-09  Bruno Haible  <bruno@clisp.org>
38739
38740         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
38741         (gl_FUNC_MALLOC_POSIX): Require it.
38742         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
38743         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
38744         * modules/realloc (Files): Add m4/malloc.m4.
38745         * modules/calloc (Files): Likewise.
38746
38747 2007-09-09  Bruno Haible  <bruno@clisp.org>
38748
38749         * modules/malloc-posix: New file.
38750         * modules/malloc (Depends-on): Add malloc-posix.
38751         * lib/malloc.c: Include errno.h.
38752         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
38753         and a POSIX-compatible malloc into a single function. Set ENOMEM
38754         when returning NULL.
38755         * m4/malloc.m4: New file.
38756         * doc/functions/malloc.texi: Mention the malloc-posix module.
38757         * lib/stdlib_.h (malloc): New declaration.
38758         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
38759         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
38760         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
38761         and HAVE_MALLOC_POSIX.
38762
38763 2007-09-09  Bruno Haible  <bruno@clisp.org>
38764
38765         * modules/realloc-posix: New file.
38766         * modules/realloc (Depends-on): Add realloc-posix.
38767         * lib/realloc.c: Include errno.h.
38768         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
38769         and a POSIX-compatible realloc into a single function. Set ENOMEM
38770         when returning NULL.
38771         * m4/realloc.m4: New file.
38772         * doc/functions/realloc.texi: Mention the realloc-posix module.
38773         * lib/stdlib_.h (realloc): New declaration.
38774         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
38775         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
38776         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
38777         and HAVE_REALLOC_POSIX.
38778
38779 2007-09-09  Bruno Haible  <bruno@clisp.org>
38780
38781         * modules/calloc-posix: New file.
38782         * modules/calloc (Depends-on): Add calloc-posix.
38783         * lib/calloc.c: Include errno.h.
38784         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
38785         and a POSIX-compatible calloc into a single function. Set ENOMEM
38786         when returning NULL.
38787         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
38788         * doc/functions/calloc.texi: Mention the calloc-posix module.
38789         * lib/stdlib_.h (calloc): New declaration.
38790         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
38791         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
38792         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
38793         and HAVE_CALLOC_POSIX.
38794
38795 2007-09-09  Bruno Haible  <bruno@clisp.org>
38796
38797         Allow for modules to show an arbitrary notice.
38798         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
38799         * gnulib-tool: New option --extract-notice.
38800         (func_usage): Document it.
38801         (sed_extract_prog): Update.
38802         (func_get_notice): New function.
38803         (func_modules_notice): New function.
38804         (func_import, func_create_testdir): Invoke it.
38805         Suggested by Jim Meyering.
38806
38807 2007-09-09  Bruno Haible  <bruno@clisp.org>
38808
38809         * gnulib-tool: New options --verbose, --quiet.
38810         (func_usage): Document them.
38811         (verbose): New variable.
38812         (func_execute_command): New function.
38813         (func_import): Don't show the module list and the file list if
38814         $verbose < 0.
38815         (func_create_testdir): Likewise. Use func_execute_command.
38816         (func_create_megatestdir): Use func_execute_command.
38817
38818 2007-09-08  Bruno Haible  <bruno@clisp.org>
38819
38820         * gnulib-tool (func_import): Prefer rsync over wget when available,
38821         for fetching the PO files.
38822
38823 2007-09-08  Bruno Haible  <bruno@clisp.org>
38824
38825         * posix-modules: New file. Portions copied from gnulib-tool.
38826         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
38827
38828 2007-09-08  Jim Meyering  <jim@meyering.net>
38829
38830         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
38831         * lib/fpending.h: Rename from __fpending.h.
38832         * lib/fpending.c: Rename from __fpending.c.
38833         Include "fpending.h", not "__fpending.h".
38834         * lib/__fpending.h, lib/__fpending.c: Remove files.
38835         * modules/fpending (Files): Reflect new file names.
38836         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
38837
38838 2007-09-08  Bruno Haible  <bruno@clisp.org>
38839
38840         * m4/inttypes-h.m4: Remove stub file.
38841
38842 2007-09-07  Simon Josefsson  <simon@josefsson.org>
38843
38844         * doc/headers/stdint.texi: Discuss #include_next issue.
38845
38846 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
38847
38848         * build-aux/bootstrap: Remove obsolete comment about wget --help.
38849
38850 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
38851
38852         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
38853         in variable name.
38854
38855 2007-09-03  Jim Meyering  <jim@meyering.net>
38856
38857         New module: git-version-gen.
38858         * modules/git-version-gen: New file.
38859
38860         Import changes from coreutils for bootstrap script.
38861
38862         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
38863
38864         bootstrap: uses rsync to download the .po files
38865         * build-aux/bootstrap (po_download_command_format): New global.
38866         (download_po_files): Use rsync.
38867         (update_po_files): Don't remove .po files after download,
38868         so future rsync runs can take advantage of the copies.
38869
38870         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
38871
38872         Solve the unnecessary-.po-file-regeneration problem once and for all.
38873         * build-aux/bootstrap (download_po_files): New function, renamed from
38874         get_translations.  Now, downloads, but doesn't update LINGUAS.
38875         (update_po_files): New function.
38876
38877         bootstrap: Ignore more.
38878         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
38879         uniwidth to e.g., lib/.gitignore.
38880         (slurp): Handle the sys_stat_.h -> sys mapping, too.
38881
38882         * build-aux/bootstrap: New setting: vc_ignore.
38883         (insert_sorted_if_absent): Create $file if absent.
38884         Adapt to new, possibly empty, list: $vc_ignore.
38885
38886         bootstrap: generate more ignorable names
38887         * build-aux/bootstrap (slurp): When generating ignorable names,
38888         also map .sin to .sed, .gperf to .c, and .y to .c.
38889
38890 2007-09-03  Jim Meyering  <jim@meyering.net>
38891
38892         * build-aux/git-version-gen: New file, from coreutils.  For details, see
38893         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
38894
38895 2007-09-02  Bruno Haible  <bruno@clisp.org>
38896
38897         Fix mis-recognition of 'mcs' on QNX 6.
38898         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
38899         output contains the string "Mono".
38900         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
38901         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
38902
38903 2007-09-01  Bruno Haible  <bruno@clisp.org>
38904
38905         Fix collision between uniwidth/* and linebreak modules.
38906         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
38907         u32_width): Remove declarations.
38908         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
38909         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
38910         streq3, streq2, streq1, streq0): Remove functions.
38911         (STREQ): Remove macro.
38912         (is_cjk_encoding): Remove function.
38913         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
38914         (uc_width, u8_width, u16_width, u32_width): Remove functions.
38915         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
38916         * NEWS: Document the change.
38917
38918 2007-09-01  Bruno Haible  <bruno@clisp.org>
38919
38920         * lib/streq.h: Add double-inclusion guard.
38921
38922 2007-09-01  Karl Berry  <karl@gnu.org>
38923
38924         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
38925
38926 2007-08-28  Jim Meyering  <jim@meyering.net>
38927
38928         Rename mreadlink_with_size to areadlink_with_size.
38929         * NEWS: Document the change.
38930         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
38931         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
38932         * lib/mreadlink.h: Rename this to...
38933         * lib/areadlink.h: ...this.
38934         * modules/mreadlink-with-size: Rename this to...
38935         * modules/areadlink-with-size: ...this.
38936         * lib/canonicalize.c: Reflect the renaming.
38937         * modules/canonicalize: Likewise.
38938
38939 2007-08-26  Bruno Haible  <bruno@clisp.org>
38940
38941         * gnulib-tool (func_import): When deciding which files to remove,
38942         consider also dangling symbolic links.
38943         Reported by Eric Blake.
38944
38945 2007-08-26  Bruno Haible  <bruno@clisp.org>
38946
38947         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
38948
38949 2007-08-23  Simon Josefsson  <simon@josefsson.org>
38950
38951         * lib/readline.c: Don't include getline.h, the prototype is now
38952         found in stdio.h.
38953
38954 2007-08-23  Jim Meyering  <jim@meyering.net>
38955
38956         Getdelim touchup.
38957         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
38958         around the funlockfile call, since funlockfile never sets errno.
38959         Don't set errno upon failed realloc.
38960
38961 2007-08-22  Eric Blake  <ebb9@byu.net>
38962
38963         Getline touchups.
38964         * lib/getdelim.c (getdelim): Revert regression that required *n to
38965         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
38966         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
38967         getdelim, rather than whether implementation is missing.
38968         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
38969         * lib/stdio_.h (getline): Also declare if replacement is
38970         required.
38971         * doc/functions/getdelim.texi: New file.
38972         * doc/functions/getline.texi: Likewise.
38973         * doc/gnulib.texi (Function Substitutes): Add new files.
38974         Reported by Bruno Haible.
38975
38976 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
38977
38978         * users.txt: Add Guile.
38979
38980 2007-08-22  Eric Blake  <ebb9@byu.net>
38981
38982         * tests/test-getdelim.c (main): Use remove, not unlink.
38983         * tests/test-getline.c (main): Likewise.
38984
38985         Move getline and getdelim into stdio.h, per POSIX 200x.
38986         * modules/getline (Files): Remove getline.h.
38987         (Depends-on): Add stdio.
38988         (configure.ac): Add module indicator.
38989         * modules/getdelim (Files): Remove getdelim.h.
38990         (Depends-on): Add stdio.
38991         (configure.ac): Add module indicator.
38992         * modules/stdio (Makefile.am): Work with new indicators.
38993         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
38994         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
38995         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
38996         * lib/getdelim.h: Delete.
38997         * lib/getline.h: Delete.
38998         * lib/stdio_.h (getdelim, getline): Declare.
38999         * modules/getdelim-tests: New module.
39000         * modules/getline-tests: Likewise.
39001         * tests/test-getdelim.c: New file.
39002         * tests/test-getline.c: Likewise.
39003         * NEWS: Document the change.
39004         * lib/getline.c: Update choice of header.
39005         * lib/csharpcomp.c: Likewise.
39006         * lib/getpass.c: Likewise.
39007         * lib/javacomp.c: Likewise.
39008         * lib/javaversion.c: Likewise.
39009         * lib/yesno.c: Likewise.
39010         * lib/getdelim.c: Likewise.
39011         (getdelim): Set errno on failure, and avoid memory leak.
39012
39013 2007-08-19  Bruno Haible  <bruno@clisp.org>
39014
39015         * modules/closein (Depends-on): Add freadahead.
39016         * lib/closein.c: Include freadahead.h.
39017         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
39018         is zero.
39019
39020 2007-08-19  Bruno Haible  <bruno@clisp.org>
39021
39022         * modules/freadahead-tests: New file.
39023         * tests/test-freadahead.sh: New file.
39024         * tests/test-freadahead.c: New file.
39025
39026         * modules/freadahead: New file.
39027         * lib/freadahead.h: New file.
39028         * lib/freadahead.c: New file.
39029         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
39030         fbufmode, fpurge, freadable, fwritable.
39031
39032 2007-08-19  Eric Blake  <ebb9@byu.net>
39033
39034         Test yesno in combination with closein.
39035         * lib/yesno.c (yesno): Document use of stdin.
39036         * modules/yesno-tests (Files): New module.
39037         * tests/test-yesno.c (main): New file.
39038         * tests/test-yesno.sh: Likewise.
39039
39040 2007-08-19  Bruno Haible  <bruno@clisp.org>
39041
39042         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
39043         * lib/fseeko.c (rpl_fseeko): Likewise.
39044         * lib/fseterr.c (fseterr): Likewise.
39045
39046 2007-08-19  Bruno Haible  <bruno@clisp.org>
39047
39048         * tests/test-lseek.c (main): Disable a test for BeOS.
39049         * doc/functions/lseek.texi: Document the BeOS bug.
39050
39051 2007-08-19  Bruno Haible  <bruno@clisp.org>
39052             Eric Blake  <ebb9@byu.net>
39053
39054         * lib/lseek.c: Include <sys/stat.h>.
39055         (rpl_lseek): Add workaround code also for Unix platforms.
39056         Needed for BeOS.
39057         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
39058         * doc/functions/lseek.texi: Document BeOS definiency.
39059
39060 2007-08-18  Bruno Haible  <bruno@clisp.org>
39061
39062         * modules/fstrcmp-tests: New file.
39063         * tests/test-fstrcmp.c: New file.
39064
39065 2007-08-18  Bruno Haible  <bruno@clisp.org>
39066
39067         * modules/fstrcmp: New file, from GNU gettext with modifications.
39068         * lib/fstrcmp.h: New file, from GNU gettext.
39069         * lib/fstrcmp.c: New file, from GNU gettext.
39070         * MODULES.html.sh (String handling): Add fstrcmp.
39071
39072 2007-08-18  Bruno Haible  <bruno@clisp.org>
39073
39074         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
39075         'bool'.
39076         (diag, compareseq): Remove const from the ctxt argument.
39077         (USE_HEURISTIC): Undefine at the end.
39078
39079 2007-08-18  Jim Meyering  <jim@meyering.net>
39080
39081         New file: lib/idcache.h
39082         * NEWS: Mention the addition.
39083         * modules/idcache (Files): Add lib/idcache.h
39084         * lib/idcache.c: Include "idcache.h".
39085         Don't include <sys/types.h>.
39086         Add a FIXME comment.
39087         Move file-scoped "static" declarations to the top.
39088         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
39089
39090 2007-08-17  Bruno Haible  <bruno@clisp.org>
39091         and Paul Eggert  <eggert@cs.ucla.edu>
39092
39093         * MODULES.html.sh: Add diffseq.
39094         * modules/diffseq: New file.
39095         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
39096         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
39097
39098 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
39099
39100         Import changes from coreutils for bootstrap script.
39101
39102         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
39103
39104         * build-aux/bootstrap (slurp): Work even in environments where
39105         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
39106         current code does not slurp files whose names start with ".", and
39107         this looks like it might be a troublesome area.
39108
39109         2007-07-11  Jim Meyering  <jim@meyering.net>
39110
39111         If there's a GPL vN copyright comment, require that N == 3.
39112
39113         2007-07-08  Jim Meyering  <jim@meyering.net>
39114
39115         Run the coreutils-specific code only if tests/Makefile.am.in exists.
39116         * build-aux/bootstrap (mam_template): Move definition out of loop.
39117
39118         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
39119
39120         * build-aux/bootstrap (symlink_to_dir): Rename function from
39121         symlink_to_gnulib.  Add a directory parameter.  Update all
39122         callers.
39123         (cp_mark_as_generated): Also check for -- and link to -- files in
39124         gl/.
39125
39126         2007-07-08  Jim Meyering  <jim@meyering.net>
39127
39128         Adapt to deeper hierarchy in gnulib.
39129         * build-aux/bootstrap (symlink_to_dir): If the destination
39130         directory doesn't exist, create it. This is required at least for
39131         "lib/uniwidth/cjk.h".
39132
39133         2007-05-15  Jim Meyering  <jim@meyering.net>
39134
39135         * build-aux/bootstrap: Now that generated Makefile.am files
39136         are no longer under version control, they must be created at
39137         bootstrap time.
39138
39139 2007-08-14  Ben Pfaff  <blp@gnu.org>
39140
39141         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
39142
39143 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
39144
39145         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
39146         given the changes below.
39147         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
39148         even on hosts that have padding bits beyond the supported 64.
39149
39150 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
39151
39152         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
39153         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
39154         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
39155         depends on it.
39156         (xstrtol_error): Remove.
39157         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
39158         but with a different signature.
39159         (ATTRIBUTE_NORETURN, __attribute__): New macros.
39160         * lib/xstrtol-error.c: Include exitfail.h.
39161         (xstrtol_fatal): New function, with a different signature from the
39162         old xstrtol_error, so that the caller need not worry about passing
39163         in an exit status, or about storage management of the option argument.
39164         (xstrtol_error): Now a static function.  Redo signature to
39165         implement xstrtol_fatal.  Output the correct number of hyphens in
39166         front of the option so that the caller need not worry about
39167         storage management.
39168         (N_): New macro.
39169         (_): Remove; not used now.
39170         * modules/xstrtol: Depend on getopt.
39171         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
39172         of old STRTOL_FATAL_ERROR macro.
39173         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
39174         of test program.
39175         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
39176         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
39177
39178 2007-08-08  Eric Blake  <ebb9@byu.net>
39179
39180         * lib/xstrtol-error.c: Add missing include.
39181
39182         Move xstrtol messages into gnulib domain, when --pobase is used.
39183         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
39184         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
39185         * modules/xstrtol (Files): Distribute new file.
39186         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
39187         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
39188         * tests/test-xstrtol.c: ...into new file.
39189         * tests/test-xstrtoul.c: Also test xstrtoul.
39190         * tests/test-xstrtoimax.c: Also test xstrtoimax.
39191         * tests/test-xstrtoumax.c: Also test xstrtoumax.
39192         * tests/test-xstrtol.sh: Drive the tests.
39193         * tests/test-xstrtoimax.sh: Likewise.
39194         * tests/test-xstrtoumax.sh: Likewise.
39195         * modules/xstrtol-tests: New module.
39196         * modules/xstrtoimax-tests: Likewise.
39197         * modules/xstrtoumax-tests: Likewise.
39198
39199 2007-08-08  Jim Meyering  <jim@meyering.net>
39200
39201         New function: mfile_name_concat.
39202         * lib/filenamecat.c (mfile_name_concat): New function, just like
39203         file_name_concat, but return NULL upon failure rather than exiting
39204         with a diagnostic.
39205         * lib/filenamecat.h: Declare it.
39206
39207 2007-08-07  Bruno Haible  <bruno@clisp.org>
39208
39209         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
39210         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
39211         warning from gcc.
39212         Reported by Eric Blake.
39213
39214 2007-08-07  Simon Josefsson  <simon@josefsson.org>
39215
39216         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
39217         * modules/crypto/arcfour (License): Likewise.
39218         * modules/crypto/des-tests (License): Likewise.
39219         * modules/crypto/gc-arctwo-tests (License): Likewise.
39220         * modules/crypto/gc-des-tests (License): Likewise.
39221         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
39222         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
39223         * modules/crypto/gc-md2-tests (License): Likewise.
39224         * modules/crypto/gc-md4-tests (License): Likewise.
39225         * modules/crypto/gc-md5-tests (License): Likewise.
39226         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
39227         * modules/crypto/gc-rijndael-tests (License): Likewise.
39228         * modules/crypto/gc-sha1-tests (License): Likewise.
39229         * modules/crypto/gc-tests (License): Likewise.
39230         * modules/crypto/hmac-md5 (License): Likewise.
39231         * modules/crypto/hmac-sha1 (License): Likewise.
39232         * modules/crypto/md2-tests (License): Likewise.
39233         * modules/crypto/md4-tests (License): Likewise.
39234         * modules/crypto/md5 (License): Likewise.
39235         * modules/crypto/rijndael (License): Likewise.
39236         * modules/crypto/sha1 (License): Likewise.
39237         * modules/memxor (License): Likewise.
39238
39239 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
39240         and Bruno Haible  <bruno@clisp.org>
39241
39242         * NEWS: Describe interface changes to human, xstrtol.
39243         * lib/human.h: Include <xstrtol.h>.
39244         (human_options): Return enum strtol_error, not int.  Remove
39245         bool arg; take int * instead.
39246         * lib/human.c: Don't include "gettext.h".
39247         (_): Remove; no longer used.
39248         Don't include <xstrtol.h>, since human.h does it.
39249         (human_options): Adjust to abovementioned interface changes.
39250         Do not report error to stderr; that's now the caller's
39251         responsibility.
39252         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
39253         interface change.
39254         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
39255         Str, Argument_type_string.  All uses changed.  Put " argument"
39256         in diagnostics to make them clearer.  Change wording of suffix
39257         message for clarity.
39258         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
39259         Argument_type_string.
39260         (STRTOL_FATAL_WARN): Remove; no longer used.
39261         * modules/human (Depends-on): Remove gettext-h.
39262
39263 2007-08-06  Simon Josefsson  <simon@josefsson.org>
39264
39265         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
39266
39267 2007-07-31  Bruno Haible  <bruno@clisp.org>
39268
39269         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
39270         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
39271         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
39272
39273 2007-07-31  Bruno Haible  <bruno@clisp.org>
39274
39275         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
39276         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
39277
39278 2007-07-30  Bruno Haible  <bruno@clisp.org>
39279
39280         * modules/base64 (License): Use the synonymous term "LGPLv2+".
39281         * modules/c-ctype (License): Likewise.
39282         * modules/c-strcase (License): Likewise.
39283         * modules/check-version (License): Likewise.
39284         * modules/iconv (License): Likewise.
39285         * modules/iconv_open (License): Likewise.
39286         * modules/read-file (License): Likewise.
39287         * modules/striconv (License): Likewise.
39288         * modules/strverscmp (License): Likewise.
39289         * modules/vasprintf (License): Likewise.
39290         * modules/crypto/des (License): Likewise.
39291         * modules/crypto/gc (License): Likewise.
39292         * modules/crypto/gc-arcfour (License): Likewise.
39293         * modules/crypto/gc-arctwo (License): Likewise.
39294         * modules/crypto/gc-des (License): Likewise.
39295         * modules/crypto/gc-hmac-md5 (License): Likewise.
39296         * modules/crypto/gc-hmac-sha1 (License): Likewise.
39297         * modules/crypto/gc-md2 (License): Likewise.
39298         * modules/crypto/gc-md4 (License): Likewise.
39299         * modules/crypto/gc-md5 (License): Likewise.
39300         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
39301         * modules/crypto/gc-random (License): Likewise.
39302         * modules/crypto/gc-rijndael (License): Likewise.
39303         * modules/crypto/gc-sha1 (License): Likewise.
39304         * modules/crypto/md2 (License): Likewise.
39305         * modules/crypto/md4 (License): Likewise.
39306
39307 2007-07-30  Jim Meyering  <jim@meyering.net>
39308
39309         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
39310         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
39311         it has valid stat data.  This bug would cause du not to count the
39312         sizes of inaccessible directories.
39313         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
39314         in <http://bugzilla.redhat.com/250077>.
39315
39316 2007-07-25  Peter O'Gorman  <peter@pogma.com>
39317             Bruno Haible  <bruno@clisp.org>
39318
39319         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
39320         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
39321         #include_next, gives a diagnostic about it, but reports no error in
39322         the exit code.
39323         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
39324
39325 2007-07-24  Ben Pfaff  <blp@gnu.org>
39326
39327         Improve name: "count-one-bits" is better than "popcount".
39328         * MODULES.html.sh: Update name.
39329         * lib/popcount.h: Renamed lib/count-one-bits.h.
39330         (popcount): Renamed count_one_bits.
39331         (popcountl): Renamed count_one_bits_l.
39332         (popcountll): Renamed count_one_bits_ll.
39333         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
39334         * modules/popcount: Renamed module/count-one-bits.
39335         * modules/popcount-tests: Renamed module/count-one-bits-tests.
39336         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
39337
39338 2007-07-23  Ben Pfaff  <blp@gnu.org>
39339
39340         * lib/popcount.h (popcount32): Reduce size of constants, to allow
39341         better code generation, and add U to large constants to avoid
39342         warnings, in non-GCC case.
39343         Suggested by Bruno Haible.
39344
39345 2007-07-23  Ben Pfaff  <blp@gnu.org>
39346
39347         * lib/popcount.h: Use verify_true instead of if...abort.
39348         * modules/popcount: Depend on verify module.
39349         Suggested by Jim Meyering.
39350
39351 2007-07-23  Bruno Haible  <bruno@clisp.org>
39352
39353         * gnulib-tool (func_import): Create a .cvsignore file also when the
39354         directory is not yet in CVS but the toplevel directory is. When
39355         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
39356         Reported by Karl Berry.
39357
39358 2007-07-22  Ben Pfaff  <blp@gnu.org>
39359
39360         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
39361         case.
39362         Suggested by Eric Blake.
39363
39364 2007-07-22  Ben Pfaff  <blp@gnu.org>
39365
39366         New module: popcount.
39367         * MODULES.html.sh: Add popcount.
39368         * modules/popcount: New file.
39369         * modules/popcount-tests: New file.
39370         * tests/test-popcount.c: New file.
39371         * lib/popcount.h: New file.
39372         * m4/popcount.m4: New file.
39373
39374 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
39375
39376         * build-aux/announce-gen: Update to GPLv3.
39377
39378         * build-aux/config.guess: Update from config.
39379
39380 2007-07-21  Bruno Haible  <bruno@clisp.org>
39381
39382         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
39383         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
39384
39385 2007-07-20  Jim Meyering  <jim@meyering.net>
39386
39387         * check-module: Diagnose a self-dependency.
39388
39389 2007-07-19  Bruno Haible  <bruno@clisp.org>
39390
39391         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
39392         empty.
39393         Reported by Eric Blake.
39394
39395 2007-07-18  Bruno Haible  <bruno@clisp.org>
39396
39397         * gnulib-tool: New options --po-base, --po-domain.
39398         (func_usage): Document them.
39399         (pobase, po_domain): New variables.
39400         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
39401         DEFAULT_TEXT_DOMAIN.
39402         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
39403         (func_import): Consider pobase and po_domain. Create a po/ directory.
39404         (func_create_testdir): Set pobase and po_domain to empty.
39405         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
39406         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
39407
39408 2007-07-18  Bruno Haible  <bruno@clisp.org>
39409
39410         * gnulib-tool (func_get_automake_snippet): Synthesize also an
39411         EXTRA_DIST augmentation for files in build-aux/.
39412
39413 2007-07-16  Bruno Haible  <bruno@clisp.org>
39414
39415         * modules/lseek (License): Use the synonymous term "LGPLv2+".
39416         * modules/getdelim (License): Likewise.
39417
39418 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
39419
39420         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
39421         * modules/d-type (License): Likewise.
39422         * modules/extensions (License): Likewise.
39423         * modules/fnmatch (License): Likewise.
39424         * modules/fseeko (License): Likewise.
39425         * modules/getaddrinfo (License): Likewise.
39426         * modules/getline (License): Likewise.
39427         * modules/getlogin_r (License): Likewise.
39428         * modules/getpass (License): Likewise.
39429         * modules/gettimeofday (License): Likewise.
39430         * modules/glob (License): Likewise.
39431         * modules/inet_ntop (License): Likewise.
39432         * modules/malloc (License): Likewise.
39433         * modules/malloca (License): Likewise.
39434         * modules/memmem (License): Likewise.
39435         * modules/mempcpy (License): Likewise.
39436         * modules/memset (License): Likewise.
39437         * modules/minmax (License): Likewise.
39438         * modules/mktime (License): Likewise.
39439         * modules/netinet_in (License): Likewise.
39440         * modules/pathmax (License): Likewise.
39441         * modules/poll (License): Likewise.
39442         * modules/regex (License): Likewise.
39443         * modules/snprintf (License): Likewise.
39444         * modules/stdbool (License): Likewise.
39445         * modules/stdint (License): Likewise.
39446         * modules/stdio (License): Likewise.
39447         * modules/strcase (License): Likewise.
39448         * modules/strcasestr (License): Likewise.
39449         * modules/strdup (License): Likewise.
39450         * modules/string (License): Likewise.
39451         * modules/strndup (License): Likewise.
39452         * modules/strnlen (License): Likewise.
39453         * modules/strpbrk (License): Likewise.
39454         * modules/strptime (License): Likewise.
39455         * modules/strsep (License): Likewise.
39456         * modules/sys_select (License): Likewise.
39457         * modules/sys_socket (License): Likewise.
39458         * modules/sys_stat (License): Likewise.
39459         * modules/sys_time (License): Likewise.
39460         * modules/time (License): Likewise.
39461         * modules/time_r (License): Likewise.
39462         * modules/timegm (License): Likewise.
39463         * modules/unistd (License): Likewise.
39464         * modules/vsnprintf (License): Likewise.
39465         * modules/wctype (License): Likewise.
39466
39467 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39468
39469         * modules/argz (License): LGPLv2+.
39470
39471 2007-07-15  Karl Berry  <karl@gnu.org>
39472
39473         * doc/gnulib.texi: revise node structure per new fdl.texi.
39474
39475 2007-07-14  Bruno Haible  <bruno@clisp.org>
39476
39477         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
39478         the output file.
39479         * lib/uniname/uninames.h: Regenerated.
39480
39481 2007-07-14  Karl Berry  <karl@gnu.org>
39482
39483         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
39484         omitting sectioning and index commands.
39485
39486 2007-07-13  Bruno Haible  <bruno@clisp.org>
39487
39488         New gnulib-tool option --more-symlinks.
39489         * gnulib-tool (func_usage): Document --more-symlinks.
39490         (do_copyrights): New variable.
39491         Recognize option --more-symlinks.
39492         (func_import): Don't add a copyright notice transform to
39493         sed_transform_lib_file if do_copyrights is empty.
39494
39495 2007-07-13  Bruno Haible  <bruno@clisp.org>
39496
39497         * lib/vasnprintf.c (decimal_point_char): Define also if
39498         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
39499         && !NEED_PRINTF_DIRECTIVE_A.
39500         Reported by Clemens Koller <clemens.koller@anagramm.de> via
39501         Gary V. Vaughan <gary@gnu.org>.
39502
39503 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
39504
39505         * lib/inttypes_.h: Undo previous change, since it was fixed
39506         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
39507
39508 2007-07-13  Bruno Haible  <bruno@clisp.org>
39509
39510         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
39511         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
39512
39513 2007-07-13  Jim Meyering  <jim@meyering.net>
39514
39515         df: Don't fail for Tru64's "file-on-file mount".
39516         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
39517         so we fall through and use statfs instead.  Details here:
39518         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
39519         Reported by Albert Chin.
39520
39521 2007-07-13  Bruno Haible  <bruno@clisp.org>
39522
39523         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
39524         * modules/configmake (License): Likewise.
39525         * modules/gettext (License): Likewise.
39526         * modules/gettext-h (License): Likewise.
39527         * modules/include_next (License): Likewise.
39528         * modules/link-warning (License): Likewise.
39529         * modules/localcharset (License): Likewise.
39530         * modules/localename (License): Likewise.
39531         * modules/lock (License): Likewise.
39532         * modules/relocatable-lib-lgpl (License): Likewise.
39533         * modules/size_max (License): Likewise.
39534         * modules/vasnprintf (License): Likewise.
39535         * modules/wchar (License): Likewise.
39536         * modules/xsize (License): Likewise.
39537
39538 2007-07-13  Bruno Haible  <bruno@clisp.org>
39539
39540         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
39541         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
39542
39543 2007-07-12  Bruno Haible  <bruno@clisp.org>
39544
39545         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
39546         in the modules files.
39547
39548 2007-07-11  Karl Berry  <karl@gnu.org>
39549
39550         * MODULES.html.sh (func_module): use
39551          sed -e '\|^'"${includefile}"'$|d'
39552          instead of /.../d, to avoid errors on $includefile's containing /.
39553
39554 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
39555
39556         * gnulib-tool (func_import): Avoid duplication of --avoid
39557         statements
39558         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
39559         names to `_' in variable names.
39560
39561 2007-07-10  Eric Blake  <ebb9@byu.net>
39562
39563         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
39564         * NEWS: Document this change.
39565
39566 2007-07-08  Bruno Haible  <bruno@clisp.org>
39567
39568         Update to Unicode 5.0.
39569         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
39570         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
39571         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
39572         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
39573         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
39574         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
39575         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
39576         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
39577         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
39578         U+10A3F, U+1D242..U+1D244.
39579         (nonspacing_table_ind): Update.
39580         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
39581         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
39582
39583 2007-07-08  Bruno Haible  <bruno@clisp.org>
39584
39585         Update to Unicode 5.0.
39586         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
39587         code transform. Extend the name index field of unicode_name_to_code and
39588         unicode_code_to_name from 16 to 24 bits.
39589         * lib/uniname/uniname.c (unicode_character_name,
39590         unicode_name_character): Add the range 0x12xxx to the code transform.
39591         * lib/uniname/uninames.h: Regenerated.
39592         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
39593
39594 2007-07-07  Bruno Haible  <bruno@clisp.org>
39595
39596         * modules/wcwidth-tests: New file.
39597         * tests/test-wcwidth.c: New file.
39598
39599         Work around MacOS X wcwidth() bug.
39600         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
39601         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
39602         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
39603         original wcwidth in non-UTF-8 locales.
39604         * modules/wcwidth (Depends-on): Add localcharset, streq,
39605         uniwidth/width.
39606         * doc/functions/wcwidth.texi: Update.
39607
39608 2007-07-07  Bruno Haible  <bruno@clisp.org>
39609
39610         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
39611         (wcwidth): New declaration.
39612         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
39613         macros.
39614         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
39615         here. Prepare for creating <wchar.h> unconditionally.
39616         * modules/wchar (Depends-on): Add link-warning.
39617         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
39618         REPLACE_WCWIDTH, and GL_LINK_WARNING.
39619         * lib/wcwidth.h: Remove file.
39620         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
39621         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
39622         * modules/wcwidth (Files): Remove lib/wcwidth.h.
39623         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
39624         (Include): Replace wcwidth.h with <wchar.h>.
39625         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
39626         * lib/mbchar.h: Don't include wcwidth.h.
39627         * lib/mbswidth.c: Likewise.
39628         * NEWS: Mention the change.
39629
39630 2007-07-07  Bruno Haible  <bruno@clisp.org>
39631
39632         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
39633         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
39634         definition with an external declaration.
39635         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
39636         defined as a function. Remove AC_C_INLINE requirement.
39637         * modules/wcwidth (Files): Add lib/wcwidth.c.
39638         (Makefile.am): Remove redundant statement.
39639
39640 2007-07-07  Bruno Haible  <bruno@clisp.org>
39641
39642         * MODULES.html.sh (Unicode string functions): Add the new modules.
39643
39644         * tests/uniwidth/test-u32-strwidth.c: New file.
39645         * modules/uniwidth/u32-strwidth-tests: New file.
39646
39647         * lib/uniwidth/u32-strwidth.c: New file.
39648         * modules/uniwidth/u32-strwidth: New file.
39649
39650         * tests/uniwidth/test-u16-strwidth.c: New file.
39651         * modules/uniwidth/u16-strwidth-tests: New file.
39652
39653         * lib/uniwidth/u16-strwidth.c: New file.
39654         * modules/uniwidth/u16-strwidth: New file.
39655
39656         * tests/uniwidth/test-u8-strwidth.c: New file.
39657         * modules/uniwidth/u8-strwidth-tests: New file.
39658
39659         * lib/uniwidth/u8-strwidth.c: New file.
39660         * modules/uniwidth/u8-strwidth: New file.
39661
39662         * tests/uniwidth/test-u32-width.c: New file.
39663         * modules/uniwidth/u32-width-tests: New file.
39664
39665         * lib/uniwidth/u32-width.c: New file.
39666         * modules/uniwidth/u32-width: New file.
39667
39668         * tests/uniwidth/test-u16-width.c: New file.
39669         * modules/uniwidth/u16-width-tests: New file.
39670
39671         * lib/uniwidth/u16-width.c: New file.
39672         * modules/uniwidth/u16-width: New file.
39673
39674         * tests/uniwidth/test-u8-width.c: New file.
39675         * modules/uniwidth/u8-width-tests: New file.
39676
39677         * lib/uniwidth/u8-width.c: New file.
39678         * modules/uniwidth/u8-width: New file.
39679
39680         * tests/uniwidth/test-uc_width.c: New file.
39681         * modules/uniwidth/width-tests: New file.
39682
39683         * lib/uniwidth/width.c: New file, from GNU libiconv.
39684         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
39685         * modules/uniwidth/width: New file.
39686
39687         * lib/uniwidth.h: New file, from GNU libiconv.
39688         * modules/uniwidth/base: New file.
39689
39690 2007-07-07  Bruno Haible  <bruno@clisp.org>
39691
39692         * lib/uniname.h: New file, from GNU gettext.
39693         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
39694         * lib/uniname/uninames.h: New file, from GNU gettext.
39695         * lib/uniname/uniname.c: New file, from GNU gettext.
39696         * tests/uniname/test-uninames.sh: New file.
39697         * tests/uniname/test-uninames.c: New file, from GNU gettext.
39698         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
39699         * modules/uniname/base: New file.
39700         * modules/uniname/uniname: New file.
39701         * modules/uniname/uniname-tests: New file.
39702         * MODULES.html.sh (Unicode string functions): Add the new modules.
39703
39704 2007-07-06  Bruno Haible  <bruno@clisp.org>
39705
39706         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
39707
39708 2007-07-06  Bruno Haible  <bruno@clisp.org>
39709
39710         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
39711         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
39712         includes <cygwin/sys_time.h> which includes <sys/select.h> which
39713         include <sys/time.h>.
39714         Reported by Eric Blake.
39715
39716 2007-07-06  Eric Blake  <ebb9@byu.net>
39717
39718         Fix testing canonicalize on cygwin.
39719         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
39720         Revert patch from 2007-06-19.
39721         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
39722         canonicalize module is also in use.
39723         * tests/test-canonicalize.c: New file.
39724         * tests/test-canonicalize.sh: Likewise.
39725         * modules/canonicalize-tests: Likewise.
39726
39727 2007-07-06  Jim Meyering  <jim@meyering.net>
39728
39729         * lib/getugroups.c (getugroups): Detect getgrent failure.
39730         Adjust comment to reflect reality: this function may return -1.
39731
39732 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
39733
39734         * build-aux/bootstrap (TP_URL,get_translations): Update to use
39735         the new TP address.
39736         (usage): Fix typo
39737         (gnulib_mk): New variable.
39738
39739 2007-07-05  Jim Meyering  <jim@meyering.net>
39740
39741         Don't let endgrent clobber errno, no matter how improbable.
39742         * lib/getugroups.c (getugroups): Save and restore errno around
39743         endgrent call.
39744
39745         Close the group DB even when failing with 2^31 or more members.
39746         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
39747
39748 2007-07-04  Jim Meyering  <jim@meyering.net>
39749
39750         * lib/getugroups.h: New file.
39751         * lib/getugroups.c: Include "getugroups.h".
39752         Remove uses of "register" keyword.
39753         Move local variable, "cp", down into scope where used.
39754         Give "username" parameter the "const" attribute.
39755         * modules/getugroups (Files): Add lib/getugroups.h
39756
39757 2007-07-04  Karl Berry  <karl@gnu.org>
39758
39759         * MODULES.html.sh (func_all_modules): Complete rename of
39760         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
39761
39762 2007-07-02  Bruno Haible  <bruno@clisp.org>
39763
39764         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
39765         mode, when inttypes.h comes from gnulib.
39766         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
39767
39768 2007-07-02  Simon Josefsson  <simon@josefsson.org>
39769
39770         * NEWS: Mention lgpl module name change.
39771
39772         * modules/lgpl-2.1: Renamed from lgpl.
39773
39774         * NEWS: Mention gpl module name change.
39775
39776         * modules/gpl-3.0: New file, based on gpl-2.0.
39777
39778         * modules/gpl-2.0: Renamed from gpl.
39779
39780         * modules/gpl: Fix filename, doc/gpl.texi is now found at
39781         doc/gpl-2.0.texi.
39782
39783 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
39784
39785         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
39786         #define __STDC_LIMIT_MACROS temporarily while including
39787         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
39788         Problem reported by Joel E. Denny in
39789         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
39790
39791 2007-07-01  Bruno Haible  <bruno@clisp.org>
39792
39793         * lib/unistdio.h: New file.
39794         * lib/unistdio/u-asnprintf.h: New file.
39795         * lib/unistdio/u-asprintf.h: New file.
39796         * lib/unistdio/u-printf-args.c: New file.
39797         * lib/unistdio/u-printf-args.h: New file.
39798         * lib/unistdio/u-printf-parse.h: New file.
39799         * lib/unistdio/u-snprintf.h: New file.
39800         * lib/unistdio/u-sprintf.h: New file.
39801         * lib/unistdio/u-vasprintf.h: New file.
39802         * lib/unistdio/u-vsnprintf.h: New file.
39803         * lib/unistdio/u-vsprintf.h: New file.
39804         * lib/unistdio/ulc-asnprintf.c: New file.
39805         * lib/unistdio/ulc-asprintf.c: New file.
39806         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
39807         * lib/unistdio/ulc-printf-parse.c: New file.
39808         * lib/unistdio/ulc-snprintf.c: New file.
39809         * lib/unistdio/ulc-sprintf.c: New file.
39810         * lib/unistdio/ulc-vasnprintf.c: New file.
39811         * lib/unistdio/ulc-vasprintf.c: New file.
39812         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
39813         * lib/unistdio/ulc-vsnprintf.c: New file.
39814         * lib/unistdio/ulc-vsprintf.c: New file.
39815         * lib/unistdio/u8-asnprintf.c: New file.
39816         * lib/unistdio/u8-asprintf.c: New file.
39817         * lib/unistdio/u8-printf-parse.c: New file.
39818         * lib/unistdio/u8-snprintf.c: New file.
39819         * lib/unistdio/u8-sprintf.c: New file.
39820         * lib/unistdio/u8-vasnprintf.c: New file.
39821         * lib/unistdio/u8-vasprintf.c: New file.
39822         * lib/unistdio/u8-vsnprintf.c: New file.
39823         * lib/unistdio/u8-vsprintf.c: New file.
39824         * lib/unistdio/u8-u8-asnprintf.c: New file.
39825         * lib/unistdio/u8-u8-asprintf.c: New file.
39826         * lib/unistdio/u8-u8-snprintf.c: New file.
39827         * lib/unistdio/u8-u8-sprintf.c: New file.
39828         * lib/unistdio/u8-u8-vasnprintf.c: New file.
39829         * lib/unistdio/u8-u8-vasprintf.c: New file.
39830         * lib/unistdio/u8-u8-vsnprintf.c: New file.
39831         * lib/unistdio/u8-u8-vsprintf.c: New file.
39832         * lib/unistdio/u16-asnprintf.c: New file.
39833         * lib/unistdio/u16-asprintf.c: New file.
39834         * lib/unistdio/u16-printf-parse.c: New file.
39835         * lib/unistdio/u16-snprintf.c: New file.
39836         * lib/unistdio/u16-sprintf.c: New file.
39837         * lib/unistdio/u16-vasnprintf.c: New file.
39838         * lib/unistdio/u16-vasprintf.c: New file.
39839         * lib/unistdio/u16-vsnprintf.c: New file.
39840         * lib/unistdio/u16-vsprintf.c: New file.
39841         * lib/unistdio/u16-u16-asnprintf.c: New file.
39842         * lib/unistdio/u16-u16-asprintf.c: New file.
39843         * lib/unistdio/u16-u16-snprintf.c: New file.
39844         * lib/unistdio/u16-u16-sprintf.c: New file.
39845         * lib/unistdio/u16-u16-vasnprintf.c: New file.
39846         * lib/unistdio/u16-u16-vasprintf.c: New file.
39847         * lib/unistdio/u16-u16-vsnprintf.c: New file.
39848         * lib/unistdio/u16-u16-vsprintf.c: New file.
39849         * lib/unistdio/u32-asnprintf.c: New file.
39850         * lib/unistdio/u32-asprintf.c: New file.
39851         * lib/unistdio/u32-printf-parse.c: New file.
39852         * lib/unistdio/u32-snprintf.c: New file.
39853         * lib/unistdio/u32-sprintf.c: New file.
39854         * lib/unistdio/u32-vasnprintf.c: New file.
39855         * lib/unistdio/u32-vasprintf.c: New file.
39856         * lib/unistdio/u32-vsnprintf.c: New file.
39857         * lib/unistdio/u32-vsprintf.c: New file.
39858         * lib/unistdio/u32-u32-asnprintf.c: New file.
39859         * lib/unistdio/u32-u32-asprintf.c: New file.
39860         * lib/unistdio/u32-u32-snprintf.c: New file.
39861         * lib/unistdio/u32-u32-sprintf.c: New file.
39862         * lib/unistdio/u32-u32-vasnprintf.c: New file.
39863         * lib/unistdio/u32-u32-vasprintf.c: New file.
39864         * lib/unistdio/u32-u32-vsnprintf.c: New file.
39865         * lib/unistdio/u32-u32-vsprintf.c: New file.
39866         * tests/unistdio/test-ulc-asnprintf1.c: New file.
39867         * tests/unistdio/test-ulc-asnprintf1.h: New file.
39868         * tests/unistdio/test-ulc-printf1.h: New file.
39869         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
39870         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
39871         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
39872         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
39873         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
39874         * tests/unistdio/test-ulc-vasprintf1.c: New file.
39875         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
39876         * tests/unistdio/test-ulc-vsprintf1.c: New file.
39877         * tests/unistdio/test-u8-asnprintf1.c: New file.
39878         * tests/unistdio/test-u8-asnprintf1.h: New file.
39879         * tests/unistdio/test-u8-printf1.h: New file.
39880         * tests/unistdio/test-u8-vasnprintf1.c: New file.
39881         * tests/unistdio/test-u8-vasnprintf2.c: New file.
39882         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
39883         * tests/unistdio/test-u8-vasnprintf3.c: New file.
39884         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
39885         * tests/unistdio/test-u8-vasprintf1.c: New file.
39886         * tests/unistdio/test-u8-vsnprintf1.c: New file.
39887         * tests/unistdio/test-u8-vsprintf1.c: New file.
39888         * tests/unistdio/test-u16-asnprintf1.c: New file.
39889         * tests/unistdio/test-u16-asnprintf1.h: New file.
39890         * tests/unistdio/test-u16-printf1.h: New file.
39891         * tests/unistdio/test-u16-vasnprintf1.c: New file.
39892         * tests/unistdio/test-u16-vasnprintf2.c: New file.
39893         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
39894         * tests/unistdio/test-u16-vasnprintf3.c: New file.
39895         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
39896         * tests/unistdio/test-u16-vasprintf1.c: New file.
39897         * tests/unistdio/test-u16-vsnprintf1.c: New file.
39898         * tests/unistdio/test-u16-vsprintf1.c: New file.
39899         * tests/unistdio/test-u32-asnprintf1.c: New file.
39900         * tests/unistdio/test-u32-asnprintf1.h: New file.
39901         * tests/unistdio/test-u32-printf1.h: New file.
39902         * tests/unistdio/test-u32-vasnprintf1.c: New file.
39903         * tests/unistdio/test-u32-vasnprintf2.c: New file.
39904         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
39905         * tests/unistdio/test-u32-vasnprintf3.c: New file.
39906         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
39907         * tests/unistdio/test-u32-vasprintf1.c: New file.
39908         * tests/unistdio/test-u32-vsnprintf1.c: New file.
39909         * tests/unistdio/test-u32-vsprintf1.c: New file.
39910         * modules/unistdio/base: New file.
39911         * modules/unistdio/u-printf-args: New file.
39912         * modules/unistdio/ulc-asnprintf: New file.
39913         * modules/unistdio/ulc-asprintf: New file.
39914         * modules/unistdio/ulc-fprintf: New file.
39915         * modules/unistdio/ulc-printf-parse: New file.
39916         * modules/unistdio/ulc-snprintf: New file.
39917         * modules/unistdio/ulc-sprintf: New file.
39918         * modules/unistdio/ulc-vasnprintf: New file.
39919         * modules/unistdio/ulc-vasprintf: New file.
39920         * modules/unistdio/ulc-vfprintf: New file.
39921         * modules/unistdio/ulc-vsnprintf: New file.
39922         * modules/unistdio/ulc-vsprintf: New file.
39923         * modules/unistdio/u8-asnprintf: New file.
39924         * modules/unistdio/u8-asprintf: New file.
39925         * modules/unistdio/u8-printf-parse: New file.
39926         * modules/unistdio/u8-snprintf: New file.
39927         * modules/unistdio/u8-sprintf: New file.
39928         * modules/unistdio/u8-vasnprintf: New file.
39929         * modules/unistdio/u8-vasprintf: New file.
39930         * modules/unistdio/u8-vsnprintf: New file.
39931         * modules/unistdio/u8-vsprintf: New file.
39932         * modules/unistdio/u8-u8-asnprintf: New file.
39933         * modules/unistdio/u8-u8-asprintf: New file.
39934         * modules/unistdio/u8-u8-snprintf: New file.
39935         * modules/unistdio/u8-u8-sprintf: New file.
39936         * modules/unistdio/u8-u8-vasnprintf: New file.
39937         * modules/unistdio/u8-u8-vasprintf: New file.
39938         * modules/unistdio/u8-u8-vsnprintf: New file.
39939         * modules/unistdio/u8-u8-vsprintf: New file.
39940         * modules/unistdio/u16-asnprintf: New file.
39941         * modules/unistdio/u16-asprintf: New file.
39942         * modules/unistdio/u16-printf-parse: New file.
39943         * modules/unistdio/u16-snprintf: New file.
39944         * modules/unistdio/u16-sprintf: New file.
39945         * modules/unistdio/u16-vasnprintf: New file.
39946         * modules/unistdio/u16-vasprintf: New file.
39947         * modules/unistdio/u16-vsnprintf: New file.
39948         * modules/unistdio/u16-vsprintf: New file.
39949         * modules/unistdio/u16-u16-asnprintf: New file.
39950         * modules/unistdio/u16-u16-asprintf: New file.
39951         * modules/unistdio/u16-u16-snprintf: New file.
39952         * modules/unistdio/u16-u16-sprintf: New file.
39953         * modules/unistdio/u16-u16-vasnprintf: New file.
39954         * modules/unistdio/u16-u16-vasprintf: New file.
39955         * modules/unistdio/u16-u16-vsnprintf: New file.
39956         * modules/unistdio/u16-u16-vsprintf: New file.
39957         * modules/unistdio/u32-asnprintf: New file.
39958         * modules/unistdio/u32-asprintf: New file.
39959         * modules/unistdio/u32-printf-parse: New file.
39960         * modules/unistdio/u32-snprintf: New file.
39961         * modules/unistdio/u32-sprintf: New file.
39962         * modules/unistdio/u32-vasnprintf: New file.
39963         * modules/unistdio/u32-vasprintf: New file.
39964         * modules/unistdio/u32-vsnprintf: New file.
39965         * modules/unistdio/u32-vsprintf: New file.
39966         * modules/unistdio/u32-u32-asnprintf: New file.
39967         * modules/unistdio/u32-u32-asprintf: New file.
39968         * modules/unistdio/u32-u32-snprintf: New file.
39969         * modules/unistdio/u32-u32-sprintf: New file.
39970         * modules/unistdio/u32-u32-vasnprintf: New file.
39971         * modules/unistdio/u32-u32-vasprintf: New file.
39972         * modules/unistdio/u32-u32-vsnprintf: New file.
39973         * modules/unistdio/u32-u32-vsprintf: New file.
39974         * modules/unistdio/ulc-asnprintf-tests: New file.
39975         * modules/unistdio/ulc-vasnprintf-tests: New file.
39976         * modules/unistdio/ulc-vasprintf-tests: New file.
39977         * modules/unistdio/ulc-vsnprintf-tests: New file.
39978         * modules/unistdio/ulc-vsprintf-tests: New file.
39979         * modules/unistdio/u8-asnprintf-tests: New file.
39980         * modules/unistdio/u8-vasnprintf-tests: New file.
39981         * modules/unistdio/u8-vasprintf-tests: New file.
39982         * modules/unistdio/u8-vsnprintf-tests: New file.
39983         * modules/unistdio/u8-vsprintf-tests: New file.
39984         * modules/unistdio/u16-asnprintf-tests: New file.
39985         * modules/unistdio/u16-vasnprintf-tests: New file.
39986         * modules/unistdio/u16-vasprintf-tests: New file.
39987         * modules/unistdio/u16-vsnprintf-tests: New file.
39988         * modules/unistdio/u16-vsprintf-tests: New file.
39989         * modules/unistdio/u32-asnprintf-tests: New file.
39990         * modules/unistdio/u32-vasnprintf-tests: New file.
39991         * modules/unistdio/u32-vasprintf-tests: New file.
39992         * modules/unistdio/u32-vsnprintf-tests: New file.
39993         * modules/unistdio/u32-vsprintf-tests: New file.
39994         * MODULES.html.sh (Unicode string functions): Add the new modules.
39995
39996 2007-07-01  Bruno Haible  <bruno@clisp.org>
39997
39998         * lib/sprintf.c (sprintf): Limit the available length estimation,
39999         to avoid address wraparound.
40000         * lib/vsprintf.c (vsprintf): Likewise.
40001         * modules/sprintf-posix (Dependencies): Add stdint.
40002         * modules/vsprintf-posix (Dependencies): Likewise.
40003
40004 2007-07-01  Bruno Haible  <bruno@clisp.org>
40005
40006         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
40007         Windows PATH as well. Conservative double-quoting. Comments.
40008
40009 2007-07-01  Bruno Haible  <bruno@clisp.org>
40010             Eric Blake  <ebb9@byu.net>
40011             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40012
40013         * gnulib-tool (self_abspathname): Fix algorithm to cope with
40014         empty components in $PATH, denoting '.'.
40015
40016 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40017
40018         * gnulib-tool: Fix indentation.
40019         (func_create_megatestdir): Likewise.
40020         Report by Bruno Haible.
40021
40022 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40023
40024         Sync from Automake.
40025         * build-aux/gnupload: Fix shell portability issues with for loops.
40026         Report by Karl Berry.
40027
40028 2007-06-29  Simon Josefsson  <simon@josefsson.org>
40029
40030         * build-aux/maint.mk (POURL): Use translationproject.org.
40031
40032 2007-06-27  Simon Josefsson  <simon@josefsson.org>
40033             Bruno Haible  <bruno@clisp.org>
40034
40035         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
40036         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
40037         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
40038         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
40039         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
40040
40041 2007-06-27  Bruno Haible  <bruno@clisp.org>
40042
40043         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
40044         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
40045
40046 2007-06-26  Karl Berry  <karl@gnu.org>
40047
40048         * MODULES.html.sh: remove xreadlink-with-size.
40049
40050 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
40051
40052         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
40053         method that I hope also handles the double-include problem noted
40054         by Bruno Haible in
40055         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
40056
40057 2007-06-23  Bruno Haible  <bruno@clisp.org>
40058
40059         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
40060         Don't let the 'mostlyclean' target fail if the last subdirectory could
40061         not be removed.
40062         Reported by Karl Berry.
40063
40064 2007-06-23  Bruno Haible  <bruno@clisp.org>
40065
40066         * gnulib-tool (echo): Add a speedier workaround for ksh.
40067         * tests/test-echo.sh: Likewise.
40068
40069 2007-06-23  Bruno Haible  <bruno@clisp.org>
40070
40071         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
40072         * tests/test-echo.sh: Likewise.
40073
40074 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40075
40076         * gnulib-tool (IFS): Initialize early, so we don't set it to
40077         empty later.
40078         (self_abspathname): Rewrite algorithm to set it, reindent.
40079         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
40080         (func_create_megatestdir): Merge some sed scripts.
40081
40082 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
40083
40084         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
40085         exposed by Sun Studio 11 cc on Solaris 8.
40086
40087 2007-06-22  Bruno Haible  <bruno@clisp.org>
40088
40089         * gnulib-tool (echo): Ensure the echo primitive does not interpret
40090         backslashes.
40091         * tests/test-echo.sh: New file.
40092
40093 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40094
40095         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
40096         simplify `sed_replace_build_aux' scripts, they are portable but
40097         echoing them with `echo' is not.
40098         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
40099
40100 2007-06-21  Karl Berry  <karl@gnu.org>
40101
40102         * config/srclist.txt: guess we can't handle the licenses via
40103         srclist at the moment.
40104
40105 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
40106
40107         * MODULES.html.sh: Add include_next.
40108         * modules/include_next: New file.
40109
40110 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
40111
40112         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
40113         INCLUDE_NEXT.
40114         (gl_CHECK_NEXT_HEADERS): New macro.
40115         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
40116         the obsolescent gl_ABSOLUTE_HEADER.
40117         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
40118         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
40119         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
40120         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
40121         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
40122         * m4/math_h.m4 (gl_MATH_H): Likewise.
40123         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
40124         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
40125         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
40126         * m4/stdint.m4 (gl_STDINT_H): Likewise.
40127         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
40128         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
40129         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
40130         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
40131         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
40132         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
40133         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
40134         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
40135         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
40136         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
40137         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
40138         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
40139         * m4/inttypes.m4 (gl_INTTYPES_H): Define
40140         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
40141         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
40142         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
40143         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
40144         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
40145         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
40146         * lib/float_.h: Likewise.
40147         * lib/inttypes_.h: Likewise.
40148         * lib/math_.h: Likewise.
40149         * lib/search_.h: Likewise.
40150         * lib/signal_.h: Likewise.
40151         * lib/stdint_.h: Likewise.
40152         * lib/stdio_.h: Likewise.
40153         * lib/stdlib_.h: Likewise.
40154         * lib/string_.h: Likewise.
40155         * lib/sys_stat_.h: Likewise.
40156         * lib/sys_time_.h: Likewise.
40157         * lib/time_.h: Likewise.
40158         * lib/unistd_.h: Likewise.
40159         * lib/wchar_.h: Likewise.
40160         * lib/wctype_.h: Likewise.
40161         * lib/dirent_.h: Likewise.
40162         * lib/iconv_.h: Likewise.
40163         * lib/locale_.h: Likewise.
40164         * lib/netinet_in_.h: Likewise.
40165         * lib/sys_select_.h: Likewise.
40166         * lib/sys_socket_.h: Likewise.
40167         * lib/sysexits_.h: Likewise.
40168         * modules/fcntl (Depends-on): Depend on include_next, not
40169         absolute_header.
40170         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
40171         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
40172         * modules/fchdir: Likewise.
40173         * modules/float: Likewise.
40174         * modules/iconv_open: Likewise.
40175         * modules/inttypes: Likewise.
40176         * modules/locale: Likewise.
40177         * modules/math: Likewise.
40178         * modules/netinet_in: Likewise.
40179         * modules/search: Likewise.
40180         * modules/signal: Likewise.
40181         * modules/stdint: Likewise.
40182         * modules/stdio: Likewise.
40183         * modules/stdlib: Likewise.
40184         * modules/string: Likewise.
40185         * modules/sys_select: Likewise.
40186         * modules/sys_socket: Likewise.
40187         * modules/sys_stat: Likewise.
40188         * modules/sys_time: Likewise.
40189         * modules/sysexits: Likewise.
40190         * modules/time: Likewise.
40191         * modules/unistd: Likewise.
40192         * modules/wchar: Likewise.
40193         * modules/wctype: Likewise.
40194         * modules/sys_stat: Change maintainer to "all".
40195         * modules/unistd: Likewise.
40196
40197 2007-06-20  Karl Berry  <karl@gnu.org>
40198
40199         * config/srclist.txt: track www changes in license files.
40200
40201 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
40202
40203         * build-aux/bootstrap: Remove stray dot.
40204         Make sure build_aux settings are honored when linking
40205         gnulib_extra_files.
40206
40207 2007-06-19  Eric Blake  <ebb9@byu.net>
40208
40209         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
40210         Allow compilation on cygwin.
40211
40212 2007-06-19  Jim Meyering  <jim@meyering.net>
40213
40214         xreadlink-with-size: Remove module.  No longer used.
40215         Ex-callers now use xreadlink or mreadlink-with-size.
40216         * modules/xreadlink-with-size: Remove module.
40217         * lib/xreadlink-with-size.c: Remove file.
40218         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
40219         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
40220         just before the function definition *is* accurate.
40221
40222         Eliminate one way canonicalize_filename_mode could exit.
40223         * lib/canonicalize.c (canonicalize_filename_mode):
40224         Use mreadlink_with_size, not xreadlink_with_size.
40225
40226 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
40227
40228         Detect porting problems to FreeBSD/arm, which has time_t wider than
40229         long int.  Original problem reported for GNU diff by Xin Li in
40230         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
40231         * modules/getdate (Depends-on): Add intprops, verify.
40232         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
40233         is an integer type no wider than long int.
40234
40235 2007-06-18  Jim Meyering  <jim@meyering.net>
40236
40237         New module: mreadlink-with-size.
40238         * MODULES.html.sh: Add mreadlink-with-size.
40239         * modules/mreadlink-with-size: New module
40240         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
40241         not xreadlink-with-size.
40242         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
40243
40244 2007-06-16  Bruno Haible  <bruno@clisp.org>
40245
40246         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
40247         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
40248         Reported by Gary V. Vaughan <gary@gnu.org>.
40249
40250 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
40251
40252         Revamp lchown so that it lives in unistd.h where it belongs.
40253         * lib/lchown.h: Remove.
40254         * lib/dirchownmod.c: Don't include lib/lchown.h.
40255         * lib/fchownat.c: Likewise.
40256         * lib/openat.c: Likewise.
40257         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
40258         does not follow symlinks.
40259         (EOPNOTSUPP): Define if not defined.
40260         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
40261         is defined to 0.
40262         (lchown): New decl.
40263         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
40264         Do not check for lchown decl.
40265         Set REPLACE_LCHOWN.
40266         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
40267         REPLACE_LCHOWN.
40268         * modules/chown: Make it clear it follows symlinks.
40269         * modules/lchown: Make it clear it doesn't follow symlinks.
40270         (Files): Remove lib/lchown.h
40271         (Depends-on): Add unistd.
40272         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
40273         (Include): Include <unistd.h>, not "lchown.h".
40274         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
40275         REPLACE_LCHOWN.
40276
40277 2007-06-15  Jim Meyering  <jim@meyering.net>
40278
40279         Change license (GPL to LGPL) of fsusage and dependents.
40280         * modules/fsusage (License): Change to LGPL.
40281         * modules/full-read (License): Likewise.
40282         * modules/full-write (License): Likewise.
40283         * modules/safe-read (License): Likewise.
40284         * modules/safe-write (License): Likewise.
40285
40286 2007-06-14  Ben Pfaff  <blp@gnu.org>
40287
40288         Missing part of allocsa -> malloca transition.
40289         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
40290         gl_MALLOCA.
40291
40292 2007-06-12  Bruno Haible  <bruno@clisp.org>
40293
40294         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
40295         to ia64, x86_64, i386.
40296         Reported by Eric Blake.
40297
40298 2007-06-12  Bruno Haible  <bruno@clisp.org>
40299
40300         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
40301         cross-compiling to x86_64.
40302
40303 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
40304
40305         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
40306         glitch reported by Ralf Wildenhues in
40307         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
40308
40309         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
40310         Vin Shelton.
40311
40312 2007-06-11  Bruno Haible  <bruno@clisp.org>
40313
40314         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
40315         replacement string.
40316         Reported by Eric Blake.
40317
40318 2007-06-10  Bruno Haible  <bruno@clisp.org>
40319
40320         Prepare vasnprintf code for use with Unicode strings.
40321         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
40322         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
40323         TYPE_U32_STRING.
40324         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
40325         a_u32_string variants.
40326         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
40327         * lib/printf-args.c: Don't include config.h and the specification
40328         header if PRINTF_FETCHARGS is already defined.
40329         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
40330         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
40331         TYPE_U16_STRING, TYPE_U32_STRING.
40332         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
40333         u16_directive, u16_directives, u32_directive, u32_directives): New
40334         types.
40335         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
40336         New declarations.
40337         * lib/printf-parse.c: Don't include config.h and the specification
40338         header if PRINTF_PARSE is already defined. Eliminate the set of
40339         parameters for WIDE_CHAR_VERSION; the user of this file must provide
40340         them now. Include c-ctype.h.
40341         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
40342         directive and CHAR_T_ONLY_ASCII.
40343         * lib/vasnprintf.c: Don't include config.h and the specification header
40344         if VASNPRINTF is already defined.
40345         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
40346         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
40347         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
40348         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
40349         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
40350         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
40351         code accordingly.
40352         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
40353         pad_ourselves also in this case, with the 'c' and 's' directives, and
40354         with a different notion of "width".
40355         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
40356
40357 2007-06-10  Bruno Haible  <bruno@clisp.org>
40358
40359         * modules/unistr/u32-mbsnlen: New file.
40360         * lib/unistr/u32-mbsnlen.c: New file.
40361
40362         * modules/unistr/u16-mbsnlen: New file.
40363         * lib/unistr/u16-mbsnlen.c: New file.
40364
40365         * modules/unistr/u8-mbsnlen: New file.
40366         * lib/unistr/u8-mbsnlen.c: New file.
40367
40368         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
40369         declarations.
40370
40371 2007-06-10  Bruno Haible  <bruno@clisp.org>
40372
40373         * lib/string_.h (mbsnlen): New declaration.
40374         * lib/mbsnlen.c: New file.
40375         * m4/mbsnlen.m4: New file.
40376         * modules/mbsnlen: New file.
40377         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
40378         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
40379         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
40380
40381 2007-06-10  Bruno Haible  <bruno@clisp.org>
40382
40383         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
40384
40385 2007-06-10  Bruno Haible  <bruno@clisp.org>
40386
40387         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
40388         * lib/mbuiter.h: Likewise.
40389
40390 2007-06-10  Bruno Haible  <bruno@clisp.org>
40391
40392         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
40393         declaration.
40394
40395 2007-06-10  Karl Berry  <karl@gnu.org>
40396
40397         * config/srclist.txt: remove gettext entries, Bruno prefers
40398         to update individually.
40399
40400 2007-06-10  Bruno Haible  <bruno@clisp.org>
40401
40402         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
40403         'maxlen'. Ensure only length + width bytes are allocated, not
40404         length + 1 + width.
40405
40406 2007-06-09  Bruno Haible  <bruno@clisp.org>
40407
40408         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
40409         (CHAR_T): Remove macro.
40410         (VASNPRINTF): Update.
40411
40412 2007-06-09  Bruno Haible  <bruno@clisp.org>
40413
40414         * MODULES.html.sh (Unicode string functions): Add the new modules.
40415
40416         * modules/uniconv/u32-conv-to-enc: New file.
40417         * lib/uniconv/u32-conv-to-enc.c: New file.
40418         * modules/uniconv/u32-conv-to-enc-tests: New file.
40419         * tests/uniconv/test-u32-conv-to-enc.c: New file.
40420
40421         * modules/uniconv/u16-conv-to-enc: New file.
40422         * lib/uniconv/u16-conv-to-enc.c: New file.
40423         * lib/uniconv/u-conv-to-enc.h: New file.
40424         * modules/uniconv/u16-conv-to-enc-tests: New file.
40425         * tests/uniconv/test-u16-conv-to-enc.c: New file.
40426
40427         * modules/uniconv/u8-conv-to-enc: New file.
40428         * lib/uniconv/u8-conv-to-enc.c: New file.
40429         * modules/uniconv/u8-conv-to-enc-tests: New file.
40430         * tests/uniconv/test-u8-conv-to-enc.c: New file.
40431
40432         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
40433         u32_conv_to_encoding): New declarations.
40434
40435 2007-06-09  Bruno Haible  <bruno@clisp.org>
40436
40437         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
40438
40439 2007-06-09  Bruno Haible  <bruno@clisp.org>
40440
40441         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
40442         * modules/malloca: Renamed from modules/allocsa, updated.
40443         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
40444         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
40445         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
40446         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
40447         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
40448         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
40449         * modules/xmalloca: Renamed from modules/xallocsa, updated.
40450         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
40451         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
40452         * modules/c-strcasestr (Depends-on): Update.
40453         * lib/c-strcasestr.c: Update.
40454         * modules/c-strstr (Depends-on): Update.
40455         * lib/c-strstr.c: Update.
40456         * modules/canonicalize-lgpl (Depends-on): Update.
40457         * lib/canonicalize-lgpl.c: Update.
40458         * modules/clean-temp (Depends-on): Update.
40459         * lib/clean-temp.c: Update.
40460         * modules/csharpcomp (Depends-on): Update.
40461         * lib/csharpcomp.c: Update.
40462         * modules/csharpexec (Depends-on): Update.
40463         * lib/csharpexec.c: Update.
40464         * modules/javacomp (Depends-on): Update.
40465         * lib/javacomp.c: Update.
40466         * modules/javaexec (Depends-on): Update.
40467         * lib/javaexec.c: Update.
40468         * modules/mbscasestr (Depends-on): Update.
40469         * lib/mbscasestr.c: Update.
40470         * modules/mbsstr (Depends-on): Update.
40471         * lib/mbsstr.c: Update.
40472         * modules/setenv (Depends-on): Update.
40473         * lib/setenv.c: Update.
40474         * modules/strcasestr (Depends-on): Update.
40475         * lib/strcasestr.c: Update.
40476         * modules/striconveha (Depends-on): Update.
40477         * lib/striconveha.c: Update.
40478         * modules/relocatable-prog-wrapper (Files): Update.
40479         * lib/relocwrapper.c: Update.
40480         * build-aux/install-reloc: Update.
40481         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
40482
40483 2007-06-08  Bruno Haible  <bruno@clisp.org>
40484
40485         Port to uClibc.
40486         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
40487         * lib/fpurge.c (fpurge): Likewise.
40488         * lib/freading.c (freading): Likewise.
40489         * lib/fseeko.c (rpl_fseeko): Likewise.
40490         * lib/fseterr.c (fseterr): Likewise.
40491         * lib/fwriting.c (fwriting): Likewise.
40492         * tests/test-fflush.c (main): Avoid a failure on uClibc.
40493
40494 2007-06-08  Bruno Haible  <bruno@clisp.org>
40495
40496         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
40497         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
40498         * modules/gettext (Files): Add m4/intlmacosx.m4.
40499
40500 2007-06-07  Bruno Haible  <bruno@clisp.org>
40501
40502         * modules/localename-tests: New file.
40503         * tests/test-localename.c: New file.
40504
40505         New module 'localename'.
40506         * lib/localename.h: New file.
40507         * lib/localename.c: New file, from GNU gettext.
40508         * m4/localename.m4: New file.
40509         * modules/localename: New file.
40510
40511 2007-06-07  Bruno Haible  <bruno@clisp.org>
40512
40513         Work around the lack of <wchar.h> on some builds of uClibc.
40514         * doc/headers/wchar.texi: Update.
40515         * lib/wchar_.h: Include <wchar.h> only if it exists.
40516         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
40517         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
40518         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
40519         doesn't exist.
40520         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
40521         * modules/mbfile (Depends-on): Add wchar.
40522         * modules/mbiter (Depends-on): Likewise.
40523         * modules/mbuiter (Depends-on): Likewise.
40524         Reported by Simon Josefsson.
40525
40526 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
40527
40528         Work around problem reported by Steven M. Schweda in
40529         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
40530         Tru64 5.1B with the Compaq compiler environment installed declares
40531         an 'isblank' function but does not define it in the C library.
40532         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
40533         * lib/regex_internal.h (isblank): Likewise.
40534         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
40535         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
40536
40537 2007-06-05  Bruno Haible  <bruno@clisp.org>
40538
40539         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
40540         ia64.
40541         * modules/printf-safe: New file.
40542         * modules/fprintf-posix (Depends-on): Add printf-safe.
40543         * modules/printf-posix (Depends-on): Likewise.
40544         * modules/snprintf-posix (Depends-on): Likewise.
40545         * modules/sprintf-posix (Depends-on): Likewise.
40546         * modules/vasnprintf-posix (Depends-on): Likewise.
40547         * modules/vasprintf-posix (Depends-on): Likewise.
40548         * modules/vfprintf-posix (Depends-on): Likewise.
40549         * modules/vprintf-posix (Depends-on): Likewise.
40550         * modules/vsnprintf-posix (Depends-on): Likewise.
40551         * modules/vsprintf-posix (Depends-on): Likewise.
40552         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
40553         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
40554         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
40555         "no" on i386, x86_64, ia64.
40556         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
40557         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
40558         on i386, x86_64, ia64.
40559         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
40560         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
40561         on i386, x86_64, ia64.
40562         * tests/test-vasnprintf-posix.c: Include float.h.
40563         (LDBL80_WORDS): New macro.
40564         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
40565         on i386, x86_64, ia64.
40566         * tests/test-vasprintf-posix.c: Include float.h.
40567         (LDBL80_WORDS): New macro.
40568         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
40569         on i386, x86_64, ia64.
40570         * tests/test-snprintf-posix.c: Include float.h.
40571         * tests/test-sprintf-posix.c: Likewise.
40572         * tests/test-vsnprintf-posix.c: Likewise.
40573         * tests/test-vsprintf-posix.c: Likewise.
40574
40575 2007-06-05  Bruno Haible  <bruno@clisp.org>
40576
40577         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
40578         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
40579         non-IEEE numbers on i386, x86_64, ia64.
40580         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
40581         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
40582         * tests/test-isnanl.h: Include float.h.
40583         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
40584
40585 2007-06-05  Bruno Haible  <bruno@clisp.org>
40586
40587         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
40588         also the %a / %A. Handle the %a / %A code before this extra handling.
40589
40590 2007-06-05  Bruno Haible  <bruno@clisp.org>
40591
40592         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
40593         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
40594
40595 2007-06-05  Bruno Haible  <bruno@clisp.org>
40596
40597         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
40598         typo in variable name.
40599
40600 2007-06-05  Eric Blake  <ebb9@byu.net>
40601
40602         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
40603         Reported by Simon Josefsson.
40604
40605 2007-06-04  Bruno Haible  <bruno@clisp.org>
40606
40607         Avoid test failures on some PowerPC platforms.
40608         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
40609         Define differently for PowerPC.
40610         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
40611         Reported by Gary V. Vaughan <gary@gnu.org>.
40612
40613 2007-06-02  Bruno Haible  <bruno@clisp.org>
40614
40615         Fix test-stdint failure on FreeBSD/ia64.
40616         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
40617         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
40618         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
40619         * doc/headers/stdint.texi: Update.
40620
40621 2007-06-01  Bruno Haible  <bruno@clisp.org>
40622
40623         * tests/test-binary-io.c (main): Pass a third argument to open().
40624         Reported by Gary V. Vaughan <gary@gnu.org>.
40625
40626 2007-06-01  Bruno Haible  <bruno@clisp.org>
40627
40628         * doc/functions/frexpl.texi: Update for mingw.
40629
40630 2007-06-01  Bruno Haible  <bruno@clisp.org>
40631
40632         * tests/test-lseek.c (main): Disable test of errno for invalid third
40633         argument.
40634         * doc/functions/lseek.texi: Update.
40635         Reported by Gary V. Vaughan <gary@gnu.org>.
40636
40637 2007-05-28  Bruno Haible  <bruno@clisp.org>
40638
40639         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
40640
40641 2007-05-31  Eric Blake  <ebb9@byu.net>
40642
40643         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
40644         cross compiling.
40645
40646 2007-05-30  Eric Blake  <ebb9@byu.net>
40647         and Bruno Haible  <bruno@clisp.org>
40648
40649         Work around mingw test failures exposed by m4-1.4.9b.
40650         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
40651         * tests/test-unistd.c: Disable uid_t and git_t tests for the
40652         moment.
40653
40654 2007-05-30  Bruno Haible  <bruno@clisp.org>
40655
40656         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
40657         assuming that they are closed. Needed on HP-UX 11.
40658
40659 2007-05-29  Bruno Haible  <bruno@clisp.org>
40660
40661         Fix a problem with #include_next.
40662         * lib/dirent_.h: Split the double-inclusion guard.
40663         * lib/fcntl_.h: Likewise.
40664         * lib/float_.h: Likewise.
40665         * lib/iconv_.h: Likewise.
40666         * lib/inttypes_.h: Likewise.
40667         * lib/locale_.h: Likewise.
40668         * lib/math_.h: Likewise.
40669         * lib/netinet_in_.h: Likewise.
40670         * lib/search_.h: Likewise.
40671         * lib/signal_.h: Likewise.
40672         * lib/stdint_.h: Likewise.
40673         * lib/stdio_.h: Likewise.
40674         * lib/stdlib_.h: Likewise.
40675         * lib/string_.h: Likewise.
40676         * lib/sys_select_.h: Likewise.
40677         * lib/sys_socket_.h: Likewise.
40678         * lib/sys_stat_.h: Likewise.
40679         * lib/sys_time_.h: Likewise.
40680         * lib/sysexits_.h: Likewise.
40681         * lib/time_.h: Likewise.
40682         * lib/unistd_.h: Likewise.
40683         * lib/wchar_.h: Likewise.
40684         * lib/wctype_.h: Likewise.
40685
40686 2007-05-29  Bruno Haible  <bruno@clisp.org>
40687
40688         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
40689         for the moment.
40690
40691 2007-05-29  Bruno Haible  <bruno@clisp.org>
40692
40693         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
40694         invocation.
40695         Reported by Eric Blake.
40696
40697 2007-05-29  Bruno Haible  <bruno@clisp.org>
40698
40699         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
40700         compiling case.
40701
40702 2007-05-29  Eric Blake  <ebb9@byu.net>
40703             Bruno Haible  <bruno@clisp.org>
40704
40705         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
40706         cross compiles.
40707
40708 2007-05-28  Eric Blake  <ebb9@byu.net>
40709
40710         * modules/closein-tests (test_closein_LDADD): Support test on
40711         cygwin with libtool.
40712
40713 2007-05-28  Bruno Haible  <bruno@clisp.org>
40714
40715         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
40716         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
40717         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
40718         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
40719         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
40720         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
40721         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
40722         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
40723         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
40724
40725 2007-05-28  Eric Blake  <ebb9@byu.net>
40726
40727         Unconditionally include <config.h> in unit tests.
40728         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
40729         * tests/test-allocsa.c, tests/test-arcfour.c,
40730         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
40731         tests/test-array_list.c, tests/test-array_oset.c,
40732         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
40733         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
40734         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
40735         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
40736         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
40737         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
40738         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
40739         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
40740         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
40741         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
40742         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
40743         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
40744         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
40745         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
40746         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
40747         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
40748         test-md5.c, test-memmem.c, test-printf-posix.c,
40749         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
40750         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
40751         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
40752         test-strcasestr.c, test-striconv.c, test-striconveh.c,
40753         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
40754         test-vasnprintf-posix2.c, test-vasnprintf.c,
40755         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
40756         test-vfprintf-posix.c, test-vprintf-posix.c,
40757         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
40758         test-xvasprintf.c: Likewise.
40759
40760 2007-05-28  Bruno Haible  <bruno@clisp.org>
40761
40762         * gnulib-tool (func_import): Remember the --with-tests command-line
40763         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
40764         Reported by Eric Blake.
40765
40766 2007-05-28  Bruno Haible  <bruno@clisp.org>
40767
40768         * modules/ftell-tests: New file.
40769         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
40770         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
40771
40772         * lib/ftell.c: New file.
40773         * modules/ftell: New file.
40774         * m4/ftell.m4: New file.
40775         * doc/functions/ftell.texi: Update.
40776         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
40777         REPLACE_FTELL.
40778         * lib/stdio_.h (rpl_ftell): New declaration.
40779         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
40780         REPLACE_FTELL.
40781
40782 2007-05-28  Eric Blake  <ebb9@byu.net>
40783
40784         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
40785
40786 2007-05-28  Bruno Haible  <bruno@clisp.org>
40787
40788         * modules/fseek-tests: New file.
40789         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
40790         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
40791
40792         * lib/fseek.c: New file.
40793         * modules/fseek: New file.
40794         * m4/fseek.m4: New file.
40795         * doc/functions/fseek.texi: Update.
40796         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
40797         REPLACE_FSEEK.
40798         * lib/stdio_.h (rpl_fseek): New declaration.
40799         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
40800         REPLACE_FSEEK.
40801
40802 2007-05-28  Bruno Haible  <bruno@clisp.org>
40803
40804         * lib/stdio_.h (fflush): More comments.
40805
40806 2007-05-28  Bruno Haible  <bruno@clisp.org>
40807
40808         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
40809         runtime test.
40810
40811 2007-05-28  Eric Blake  <ebb9@byu.net>
40812
40813         Improve lseek module.
40814         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
40815         * lib/unistd_.h (lseek): Scale back link warning message.
40816         * tests/test-lseek.c: Beef up test.
40817         * tests/test-lseek.sh: Exercise more facets of lseek.
40818         Reported by Bruno Haible.
40819
40820 2007-05-28  Bruno Haible  <bruno@clisp.org>
40821
40822         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
40823         to define.
40824
40825 2007-05-27  Bruno Haible  <bruno@clisp.org>
40826
40827         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
40828
40829 2007-05-27  Bruno Haible  <bruno@clisp.org>
40830
40831         * modules/openmp: New file.
40832         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
40833         Noah Misch.
40834
40835 2007-05-26  Bruno Haible  <bruno@clisp.org>
40836
40837         * modules/chdir-long (Depends-on): Add fchdir.
40838         * modules/chdir-safer (Depends-on): Likewise.
40839         * modules/fts (Depends-on): Likewise.
40840         * modules/fts-lgpl (Depends-on): Likewise.
40841         * modules/openat (Depends-on): Likewise.
40842         * modules/savewd (Depends-on): Likewise.
40843
40844 2007-05-24  Eric Blake  <ebb9@byu.net>
40845
40846         Fix lseek on mingw.
40847         * modules/lseek: New module.
40848         * m4/lseek.m4: New file.
40849         * lib/lseek.c: New file.
40850         * modules/lseek-tests: New file.
40851         * tests/test-lseek.c: New file.
40852         * tests/test-lseek.sh: New file.
40853         * MODULES.html.sh: Document lseek module.
40854         * modules/fflush (Depends-on): Add lseek, fseeko.
40855         * modules/fseeko (Depends-on): Likewise.
40856         * modules/ftello (Depends-on): Likewise.
40857         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
40858         broken.
40859         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
40860         broken.
40861         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
40862         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
40863         * lib/ftello.c (rpl_ftello): Likewise.
40864         * tests/test-fseeko.c (main): Test this.
40865         * tests/test-fseeko.sh: Likewise.
40866         * tests/test-ftello.c (main): Likewise.
40867         * tests/test-ftello.sh: Likewise.
40868         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
40869         implies replacing fseek.
40870         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
40871         HAVE_FTELLO.
40872         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
40873         * modules/unistd (Makefile.am): Likewise.
40874         * lib/unistd_.h (lseek): Declare a replacement.
40875         * doc/functions/lseek.texi (lseek): Document this fix.
40876         * doc/functions/fseek.texi (fseek): Likewise.
40877         * doc/functions/ftell.texi (ftell): Likewise.
40878
40879 2007-05-24  Bruno Haible  <bruno@clisp.org>
40880
40881         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
40882         in the printed representation of a NaN.
40883         * tests/test-vasprintf-posix.c (test_function): Likewise.
40884         * tests/test-snprintf-posix.h (test_function): Likewise.
40885         * tests/test-sprintf-posix.h (test_function): Likewise.
40886         Reported by Eric Blake.
40887
40888 2007-05-23  Eric Blake  <ebb9@byu.net>
40889
40890         Fix fseeko/ftello on cygwin 1.5.24.
40891         * doc/functions/fseeko.texi (fseeko): Document the fix.
40892         * doc/functions/ftello.texi (ftello): Document the fix.
40893         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
40894         * doc/functions/stdout.text (stdout): New file.
40895         * doc/functions/stderr.text (stderr): New file.
40896         * doc/gnulib.texi (Function Substitutes): Use new files.
40897         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
40898         prior to 1.7.0.
40899         * tests/test-ftello.c (main): Likewise for ftello.
40900         * tests/test-fseeko.sh: New file.
40901         * tests/test-ftello.sh: New file.
40902         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
40903         with seekable stdin.
40904         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
40905         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
40906         (gl_REPLACE_FSEEKO): New macro.
40907         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
40908         * modules/fseeko (Files): Distribute fseeko.c.
40909         * modules/ftello (Files): Distribute ftello.c.
40910         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
40911         mode.
40912         * lib/ftello.c (rpl_ftello): New file.
40913         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
40914         fseeko, ftello.
40915         (gl_STDIN_LARGE_OFFSET): New macro.
40916         * modules/stdio (Makefile.am): Perform the replacement.
40917         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
40918
40919 2007-05-23  Bruno Haible  <bruno@clisp.org>
40920
40921         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
40922         GNULIB_POSIXCHECK is defined.
40923
40924 2007-05-21  Bruno Haible  <bruno@clisp.org>
40925
40926         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
40927         Check also the output for NaN arguments. When cross-compiling, guess
40928         no on IRIX.
40929         * lib/vasnprintf.c: Update comments.
40930         * tests/test-vasnprintf-posix.c (strisnan): New function.
40931         (test_function): Use it.
40932         * tests/test-vasprintf-posix.c (strisnan): New function.
40933         (test_function): Use it.
40934         * tests/test-snprintf-posix.h (strisnan): New function.
40935         (test_function): Use it.
40936         * tests/test-sprintf-posix.h (strisnan): New function.
40937         (test_function): Use it.
40938         Reported by Eric Blake.
40939
40940 2007-05-20  Bruno Haible  <bruno@clisp.org>
40941
40942         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
40943         numbers that fails on BeOS.
40944         * doc/functions/frexpl.texi: Update.
40945
40946 2007-05-20  Jim Meyering  <jim@meyering.net>
40947
40948         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
40949         forced upon us by glibc-2.6.
40950
40951 2007-05-20  Bruno Haible  <bruno@clisp.org>
40952
40953         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
40954         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
40955         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
40956         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
40957         NEED_PRINTF_INFINITE.
40958         (is_infinitel): New function.
40959         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
40960         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
40961         gl_PREREQ_VASNPRINTF_INFINITE.
40962         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
40963         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
40964         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
40965         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
40966         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
40967         gl_PREREQ_VASNPRINTF_INFINITE.
40968         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
40969         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
40970         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
40971         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
40972         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
40973         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
40974         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
40975         * doc/functions/fprintf.texi: Update.
40976         * doc/functions/printf.texi: Update.
40977         * doc/functions/snprintf.texi: Update.
40978         * doc/functions/sprintf.texi: Update.
40979         * doc/functions/vfprintf.texi: Update.
40980         * doc/functions/vprintf.texi: Update.
40981         * doc/functions/vsnprintf.texi: Update.
40982         * doc/functions/vsprintf.texi: Update.
40983
40984 2007-05-20  Bruno Haible  <bruno@clisp.org>
40985
40986         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
40987         was not found in libc.
40988         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
40989
40990 2007-05-20  Bruno Haible  <bruno@clisp.org>
40991
40992         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
40993         printed as "-nan" instead of "nan".
40994         * tests/test-vasprintf-posix.c (test_function): Likewise.
40995         * tests/test-snprintf-posix.h (test_function): Likewise.
40996         * tests/test-sprintf-posix.h (test_function): Likewise.
40997         Needed for HP-UX 11.
40998
40999 2007-05-20  Jim Meyering  <jim@meyering.net>
41000
41001         Fix buggy test for the fchownat-deref bug.
41002         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
41003         symlink required for the run-test.  Without it, this test would
41004         always declare that fchownat doesn't work, and client code would
41005         unnecessarily use the replacement function with fixed libc.
41006         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
41007         Reported by Greg Schafer.
41008
41009 2007-05-19  Bruno Haible  <bruno@clisp.org>
41010
41011         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
41012         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
41013         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
41014         Needed for IRIX 6.5 and Solaris 2.5.1.
41015
41016 2007-05-19  Bruno Haible  <bruno@clisp.org>
41017
41018         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
41019         (test_function): Skip tests involving -0.0 on platforms where
41020         -0.0 = 0.0.
41021         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
41022         (test_function): Skip tests involving -0.0 on platforms where
41023         -0.0 = 0.0.
41024         * tests/test-snprintf-posix.h (have_minus_zero): New function.
41025         (test_function): Skip tests involving -0.0 on platforms where
41026         -0.0 = 0.0.
41027         * tests/test-sprintf-posix.h (have_minus_zero): New function.
41028         (test_function): Skip tests involving -0.0 on platforms where
41029         -0.0 = 0.0.
41030         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
41031         tests.
41032         * tests/test-printf-posix.h (test_function): Likewise.
41033         * tests/test-printf-posix.output: Remove all -0.0 related results.
41034         Needed for IRIX 6.5.
41035
41036 2007-05-19  Bruno Haible  <bruno@clisp.org>
41037
41038         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
41039         printed as "nan0x7fffffff" instead of "nan".
41040         * tests/test-vasprintf-posix.c (test_function): Likewise.
41041         * tests/test-snprintf-posix.h (test_function): Likewise.
41042         * tests/test-sprintf-posix.h (test_function): Likewise.
41043         * tests/test-fprintf-posix.h (NaN): Remove macro.
41044         (test_function): Remove all NaN related tests.
41045         * tests/test-printf-posix.h (NaN): Remove macro.
41046         (test_function): Remove all NaN related tests.
41047         * tests/test-printf-posix.output: Remove all NaN related results.
41048         Needed for IRIX 6.5.
41049
41050 2007-05-19  Bruno Haible  <bruno@clisp.org>
41051
41052         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
41053         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
41054
41055 2007-05-19  Bruno Haible  <bruno@clisp.org>
41056
41057         * lib/float_.h: New file.
41058         * m4/float_h.m4: New file.
41059         * modules/float: New file.
41060         * modules/isnanl (Dependencies): Add float.
41061         * modules/isnanl-nolibm (Dependencies): Likewise.
41062         * modules/mathl (Dependencies): Likewise.
41063         * modules/printf-frexpl (Dependencies): Likewise.
41064         * modules/signbit (Dependencies): Likewise.
41065         * modules/vasnprintf (Dependencies): Likewise.
41066         * doc/headers/float.texi: Update.
41067
41068 2007-05-19  Jim Meyering  <jim@meyering.net>
41069
41070         * lib/utimens.c (gl_futimens): Rename from futimens,
41071         now that glibc-2.6 declares futimens.
41072         * lib/utimens.h: Likewise.
41073
41074 2007-05-19  Bruno Haible  <bruno@clisp.org>
41075
41076         Avoid test failures on mingw.
41077         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
41078         * tests/test-printf-posix.sh: Likewise.
41079         * tests/test-vfprintf-posix.sh: Likewise.
41080         * tests/test-vprintf-posix.sh: Likewise.
41081
41082 2007-05-19  Bruno Haible  <bruno@clisp.org>
41083
41084         Fix *printf result for NaN, Inf, -0.0 on mingw.
41085         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
41086         * lib/vasnprintf.c: Include math.h and isnan.h.
41087         (is_infinite_or_zero): New function.
41088         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
41089         values in the %f, %F, %e, %E, %g, %G directives.
41090         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
41091         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
41092         gl_PRINTF_INFINITE and test its result. Invoke
41093         gl_PREREQ_VASNPRINTF_INFINITE.
41094         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
41095         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
41096         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
41097         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
41098         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
41099         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
41100         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
41101         * doc/functions/fprintf.texi: Update.
41102         * doc/functions/printf.texi: Update.
41103         * doc/functions/snprintf.texi: Update.
41104         * doc/functions/sprintf.texi: Update.
41105         * doc/functions/vfprintf.texi: Update.
41106         * doc/functions/vprintf.texi: Update.
41107         * doc/functions/vsnprintf.texi: Update.
41108         * doc/functions/vsprintf.texi: Update.
41109
41110 2007-05-19  Bruno Haible  <bruno@clisp.org>
41111
41112         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
41113         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
41114         Instead of multiplying with 10^k, set extra_zeroes to k.
41115         (scale10_round_long_double): Remove function.
41116
41117 2007-05-18  Bruno Haible  <bruno@clisp.org>
41118
41119         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
41120         introduced on 2007-05-06.
41121
41122 2007-05-18  Bruno Haible  <bruno@clisp.org>
41123
41124         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
41125         %g directives.
41126         * tests/test-vasprintf-posix.c (test_function): Likewise.
41127         * tests/test-snprintf-posix.h (test_function): Likewise.
41128         * tests/test-sprintf-posix.h (test_function): Likewise.
41129
41130 2007-05-18  Bruno Haible  <bruno@clisp.org>
41131
41132         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
41133         (strmatch): New function.
41134         (test_function): Test the %f directive on numbers of various exponents.
41135         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
41136         (strmatch): New function.
41137         (test_function): Test the %f directive on numbers of various exponents.
41138         * tests/test-snprintf-posix.h (strmatch): New function.
41139         (test_function): Test the %f directive on numbers of various exponents.
41140         * tests/test-sprintf-posix.h (strmatch): New function.
41141         (test_function): Test the %f directive on numbers of various exponents.
41142         * tests/test-snprintf-posix.c (SIZEOF): New macro.
41143         * tests/test-sprintf-posix.c (SIZEOF): New macro.
41144         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
41145         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
41146
41147 2007-05-18  Bruno Haible  <bruno@clisp.org>
41148
41149         Add support for 'long double' number output.
41150         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
41151         * lib/vasnprintf.c: Include math.h and float+.h.
41152         (mp_limb_t): New type.
41153         (GMP_LIMB_BITS): New macro.
41154         (mp_twolimb_t): New type.
41155         (GMP_TWOLIMB_BITS): New macro.
41156         (mpn_t): New type.
41157         (multiply, divide, convert_to_decimal, decode_long_double,
41158         scale10_round_long_double, scale10_round_decimal_long_double,
41159         floorlog10l): New functions.
41160         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
41161         for the %f, %F, %e, %E, %g, %G directives.
41162         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
41163         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
41164         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
41165         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
41166         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
41167         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
41168         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
41169         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
41170         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
41171         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
41172         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
41173         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
41174         * modules/snprintf-posix (Depends-on): Likewise.
41175         * modules/sprintf-posix (Depends-on): Likewise.
41176         * modules/vasnprintf-posix (Depends-on): Likewise.
41177         * modules/vasprintf-posix (Depends-on): Likewise.
41178         * modules/vfprintf-posix (Depends-on): Likewise.
41179         * modules/vsnprintf-posix (Depends-on): Likewise.
41180         * modules/vsprintf-posix (Depends-on): Likewise.
41181         * modules/vasnprintf (Files): Add lib/float+.h.
41182         * doc/functions/fprintf.texi: Update.
41183         * doc/functions/printf.texi: Update.
41184         * doc/functions/snprintf.texi: Update.
41185         * doc/functions/sprintf.texi: Update.
41186         * doc/functions/vfprintf.texi: Update.
41187         * doc/functions/vprintf.texi: Update.
41188         * doc/functions/vsnprintf.texi: Update.
41189         * doc/functions/vsprintf.texi: Update.
41190
41191 2007-05-18  Bruno Haible  <bruno@clisp.org>
41192
41193         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
41194
41195 2007-05-18  Bruno Haible  <bruno@clisp.org>
41196
41197         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
41198         for printing 64-bit integers. Needed for mingw.
41199
41200 2007-05-18  Bruno Haible  <bruno@clisp.org>
41201
41202         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
41203         gl_FUNC_FREXPL_WORKS.
41204         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
41205
41206 2007-05-18  Bruno Haible  <bruno@clisp.org>
41207
41208         * modules/frexpl-nolibm-tests: New file.
41209
41210         * modules/frexpl-nolibm: New file.
41211         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
41212
41213 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
41214
41215         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
41216         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
41217         GCC 4.2, which otherwise issues a lot of warnings.
41218         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
41219         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
41220         Likewise.
41221         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
41222         * modules/iconv_open (iconv.h): Likewise.
41223         * modules/locale (locale.h): Likewise.
41224         * modules/netinet_in (netinet/in.h): Likewise.
41225         * modules/sys_select (sys_select.h): Likewise.
41226         * modules/sys_socket (sys/socket.h): Likewise.
41227         * modules/sys_stat (sys/stat.h): Likewise.
41228         * modules/sysexits (sysexits.h): Likewise.
41229         * modules/unistd (unistd.h): Likewise.
41230
41231 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41232
41233         * modules/closein-tests (Makefile.am): Distribute
41234         `test-closein.sh'.
41235
41236 2007-05-17  Bruno Haible  <bruno@clisp.org>
41237
41238         * tests/test-printf-posix.output: Renamed from
41239         tests/test-fprintf-posix.out.
41240         * modules/fprintf-posix-tests: Update.
41241         * modules/printf-posix-tests: Update.
41242         * modules/vfprintf-posix-tests: Update.
41243         * modules/vprintf-posix-tests: Update.
41244         * tests/test-fprintf-posix.sh: Update.
41245         * tests/test-printf-posix.sh: Update.
41246         * tests/test-vfprintf-posix.sh: Update.
41247         * tests/test-vprintf-posix.sh: Update.
41248         Reported by Ralf Wildenhues.
41249
41250 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
41251
41252         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
41253         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
41254         GCC 4.2, which otherwise issues a lot of warnings.
41255         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
41256         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
41257         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
41258         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
41259         it should no longer be needed.
41260         * lib/string_.h: Likewise.
41261         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
41262         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
41263         * modules/inttypes (inttypes.h): Likewise.
41264         * modules/math (math.h): Likewise.
41265         * modules/search (search.h): Likewise.
41266         * modules/signal (signal.h): Likewise.
41267         * modules/stdint (stdint.h): Likewise.
41268         * modules/stdio (stdio.h): Likewise.
41269         * modules/stdlib (stdlib.h): Likewise.
41270         * modules/string (string.h): Likewise.
41271         * modules/sys_time (sys/time.h): Likewise.
41272         * modules/time (time.h): Likewise.
41273         * modules/wchar (wchar.h): Likewise.
41274         * modules/wctype (wtype.h): Likewise.
41275
41276 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
41277
41278         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
41279
41280 2007-05-13  Bruno Haible  <bruno@clisp.org>
41281
41282         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
41283         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
41284         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
41285         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
41286         (gl_PREREQ_STRTOK_R): Don't require it here.
41287
41288 2007-05-13  Bruno Haible  <bruno@clisp.org>
41289
41290         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
41291         when used in C++ mode.
41292
41293 2007-05-12  Bruno Haible  <bruno@clisp.org>
41294
41295         * lib/linebuffer.h: Tweak doc.
41296         * lib/linebuffer.c: Likewise.
41297
41298 2007-05-12  James Youngman  <jay@gnu.org>
41299
41300         * lib/linebuffer.c (readlinebuffer_delim): New function,
41301         like readlinebuffer, but use a caller-specified delimiter.
41302         (readlinebuffer): Just call readlinebuffer_delim with '\n'
41303         as the delimiter.
41304         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
41305
41306 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
41307
41308         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
41309         * modules/openat (Files): Remove openat-die.c.
41310         (Depends-on): Add openat-die.
41311         * modules/openat-die: New module.
41312
41313 2007-05-06  Bruno Haible  <bruno@clisp.org>
41314
41315         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
41316         Update with info about Cygwin.
41317         * doc/functions/fprintf.texi: Update.
41318         * doc/functions/printf.texi: Update.
41319         * doc/functions/snprintf.texi: Update.
41320         * doc/functions/sprintf.texi: Update.
41321         * doc/functions/vfprintf.texi: Update.
41322         * doc/functions/vprintf.texi: Update.
41323         * doc/functions/vsnprintf.texi: Update.
41324         * doc/functions/vsprintf.texi: Update.
41325         Reported by Eric Blake.
41326
41327 2007-05-06  Bruno Haible  <bruno@clisp.org>
41328
41329         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
41330         padding ourselves for the floating-point directives.
41331         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
41332         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
41333         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
41334         gl_PRINTF_FLAG_ZERO and test its result. Invoke
41335         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
41336         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
41337         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
41338         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
41339         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
41340         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
41341         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
41342         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
41343         * tests/test-snprintf-posix.h (test_function): Also check the width
41344         and some flags in the %f directive.
41345         * tests/test-sprintf-posix.h (test_function): Likewise.
41346         * tests/test-vasnprintf-posix.c (test_function): Likewise.
41347         * tests/test-vasprintf-posix.c (test_function): Likewise.
41348         * doc/functions/fprintf.texi: Update.
41349         * doc/functions/printf.texi: Update.
41350         * doc/functions/snprintf.texi: Update.
41351         * doc/functions/sprintf.texi: Update.
41352         * doc/functions/vfprintf.texi: Update.
41353         * doc/functions/vprintf.texi: Update.
41354         * doc/functions/vsnprintf.texi: Update.
41355         * doc/functions/vsprintf.texi: Update.
41356
41357 2007-05-06  Bruno Haible  <bruno@clisp.org>
41358
41359         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
41360         pass the ' flag character to sprintf or snprintf.
41361         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
41362         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
41363         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
41364         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
41365         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
41366         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
41367         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
41368         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
41369         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
41370         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
41371         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
41372         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
41373         * tests/test-snprintf-posix.h (test_function): Also check the grouping
41374         flag.
41375         * tests/test-sprintf-posix.h (test_function): Likewise.
41376         * tests/test-vasnprintf-posix.c (test_function): Likewise.
41377         * tests/test-vasprintf-posix.c (test_function): Likewise.
41378         * doc/functions/fprintf.texi: Update.
41379         * doc/functions/printf.texi: Update.
41380         * doc/functions/snprintf.texi: Update.
41381         * doc/functions/sprintf.texi: Update.
41382         * doc/functions/vfprintf.texi: Update.
41383         * doc/functions/vprintf.texi: Update.
41384         * doc/functions/vsnprintf.texi: Update.
41385         * doc/functions/vsprintf.texi: Update.
41386
41387 2007-05-01  Bruno Haible  <bruno@clisp.org>
41388
41389         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
41390
41391 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
41392
41393         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
41394         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
41395
41396 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
41397
41398         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
41399         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
41400         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
41401
41402 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
41403
41404         * lib/argp-help.c (struct hol_entry): New member `ord'.
41405         (HOL_ENTRY_PTRCMP): Use ord for comparison
41406         (hol_sort): Initialize ord.
41407
41408 2007-05-01  Bruno Haible  <bruno@clisp.org>
41409
41410         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
41411         Reported by Eric Blake.
41412         * doc/gnulib.texi (Function Substitutes): Update.
41413
41414 2007-05-01  Bruno Haible  <bruno@clisp.org>
41415
41416         * doc/functions.texi: Remove file, now redundant through
41417         doc/functions/*.texi.
41418
41419 2007-05-01  Bruno Haible  <bruno@clisp.org>
41420
41421         * modules/argp (Depends-on): Add sleep.
41422
41423 2007-05-01  Bruno Haible  <bruno@clisp.org>
41424
41425         * modules/sleep-tests: New file.
41426         * tests/test-sleep.c: New file.
41427
41428         * modules/sleep: New file.
41429         * lib/sleep.c: New file.
41430         * m4/sleep.m4: New file.
41431         * lib/unistd_.h (sleep): New declaration.
41432         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
41433         HAVE_SLEEP.
41434         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
41435         * doc/functions/sleep.texi: Document the sleep module.
41436
41437 2007-05-01  Bruno Haible  <bruno@clisp.org>
41438
41439         * lib/sigprocmask.h: Remove file.
41440         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
41441         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
41442         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
41443         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
41444         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
41445         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
41446         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
41447         HAVE_SIGSET_T as a shell variable.
41448         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
41449         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
41450         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
41451         (Depends-on): Add signal. Remove verify.
41452         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
41453         (Include): Mention <signal.h> instead of sigprocmask.h.
41454         * NEWS: Mention the change.
41455         * lib/fatal-signal.c: Don't include sigprocmask.h.
41456
41457 2007-05-01  Bruno Haible  <bruno@clisp.org>
41458
41459         * modules/signal: New file.
41460         * lib/signal_.h: New file.
41461         * m4/signal_h.m4: New file.
41462
41463 2007-05-01  Bruno Haible  <bruno@clisp.org>
41464
41465         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
41466         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
41467         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
41468         HAVE_WCTYPE_CTMP_BUG into wctype.h.
41469
41470 2007-05-01  Bruno Haible  <bruno@clisp.org>
41471
41472         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
41473         configure time.
41474         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
41475         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
41476         * modules/sys_stat (Makefile.am): Substitute their values into
41477         sys/stat.h.
41478
41479 2007-05-01  Bruno Haible  <bruno@clisp.org>
41480
41481         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
41482         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
41483         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
41484
41485 2007-05-01  Bruno Haible  <bruno@clisp.org>
41486
41487         * doc/header/assert.texi: Undo last change: don't mention the gnulib
41488         'assert' module here.
41489
41490 2007-05-01  Bruno Haible  <bruno@clisp.org>
41491
41492         * doc/functions/*.texi: New files.
41493         * doc/functions/google-ranking.txt: New file.
41494         * doc/gnulib.texi (Function Substitutes): New chapter.
41495         (ctime, inet_ntoa): Remove sections.
41496         * doc/ctime.texi: Remove file.
41497         * doc/inet_ntoa.texi: Remove file.
41498         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
41499         dependencies.
41500         (%.info): New rule, specifying a --reference-limit.
41501
41502 2007-05-01  Bruno Haible  <bruno@clisp.org>
41503
41504         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
41505
41506 2007-05-01  Bruno Haible  <bruno@clisp.org>
41507
41508         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
41509         the portability of 'mkdir' to mingw systems.
41510
41511 2007-05-01  Bruno Haible  <bruno@clisp.org>
41512
41513         * doc/headers/google-ranking.txt: New file.
41514
41515 2007-04-30  Eric Blake  <ebb9@byu.net>
41516
41517         Prefer fseeko to fseek.
41518         * modules/getpass (Depends-on): Add fseeko.
41519         * lib/getpass.c (getpass): Use fseeko, not fseek.
41520
41521 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
41522
41523         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
41524         assumes the sorting is stable, while most qsort implementations
41525         are not.  Use argument addresses to ensure they never compare as
41526         equal.
41527
41528         * tests/test-argp-2.sh (usage-indent test): Fix output
41529         (func_compare): Restore diff options
41530         * tests/test-argp.c: Restore #include "progname.h"
41531
41532 2007-04-29  Bruno Haible  <bruno@clisp.org>
41533
41534         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
41535         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
41536         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
41537         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
41538         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
41539         (configure.ac): Define CHECK_SNPRINTF_POSIX.
41540         (TESTS, check_PROGRAMS): Add test-snprintf.
41541         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
41542         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
41543         (TESTS, check_PROGRAMS): Add test-vsnprintf.
41544         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
41545         assertions that fail on HP-UX, OSF/1, or IRIX.
41546         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
41547
41548 2007-04-29  Bruno Haible  <bruno@clisp.org>
41549
41550         * MODULES.html.sh (posix_functions): Remove 'contents'.
41551
41552 2007-04-29  Karl Berry  <karl@gnu.org>
41553
41554         * config/srclist.txt (gendocs_template_min): new entry.
41555
41556 2007-04-29  Bruno Haible  <bruno@clisp.org>
41557
41558         Work around fpurge bug on BSD systems.
41559         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
41560         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
41561         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
41562         fpurge to rpl_fpurge if the system already has this function.
41563         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
41564         the case where the system already has this function. Correct invariants
41565         on BSD systems.
41566         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
41567         BSD systems.
41568
41569 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
41570
41571         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
41572         proposed by Sven Verdoolaege.
41573
41574         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
41575         options.
41576         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
41577         (usage and help tests): Update
41578
41579 2007-04-29  Bruno Haible  <bruno@clisp.org>
41580
41581         * tests/test-fflush.c (main): Use a file of size 17, not 10.
41582         Print more information in case of failure. Disable a test on BeOS.
41583
41584 2007-04-29  Bruno Haible  <bruno@clisp.org>
41585
41586         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
41587         This helps debugging on systems on which no gdb is available.
41588
41589 2007-04-29  Bruno Haible  <bruno@clisp.org>
41590
41591         * lib/freading.h: Improve comments.
41592         * lib/fwriting.h: Likewise.
41593         * tests/test-freading.c (main): Don't check freading immediately after
41594         repositioning. Needed for glibc.
41595
41596 2007-04-29  Bruno Haible  <bruno@clisp.org>
41597
41598         * lib/freading.c (freading): Trivial simplification.
41599
41600 2007-04-28  Bruno Haible  <bruno@clisp.org>
41601
41602         * tests/test-fwriting.c (main): Also test the interaction between
41603         fflush and fwriting.
41604         * modules/fwriting-tests (Depends-on): Add fflush.
41605
41606         * tests/test-freading.c (main): Also test the interaction between
41607         fflush and freading.
41608         * modules/freading-tests (Depends-on): Add fflush.
41609
41610 2007-04-28  Bruno Haible  <bruno@clisp.org>
41611
41612         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
41613         fseeko and ftello.
41614         Suggested by Eric Blake.
41615
41616 2007-04-28  Jim Meyering  <jim@meyering.net>
41617
41618         Avoid false-negative in gl_STDINT_H's C99 conformance test.
41619         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
41620         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
41621
41622 2007-04-27  Eric Blake  <ebb9@byu.net>
41623
41624         * doc/headers/assert.texi (assert.h): Document assert module use.
41625
41626 2007-04-27  Bruno Haible  <bruno@clisp.org>
41627
41628         * doc/headers/*.texi: New files.
41629         * doc/gnulib.texi (Header File Substitutes): New chapter.
41630         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
41631         dependencies.
41632         (standards.info ,standards.html, standards.dvi): Update dependencies.
41633         (mostlyclean, clean): New targets.
41634
41635 2007-04-27  Bruno Haible  <bruno@clisp.org>
41636
41637         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
41638         * modules/sysexits (Files, Makefile.am): Update.
41639
41640         * lib/sys_socket_.h: Renamed from lib/socket_.h.
41641         * modules/sys_socket (Files, Makefile.am): Update.
41642
41643         * lib/sys_stat_.h: Renamed from lib/stat_.h.
41644         * modules/sys_stat (Files, Makefile.am): Update.
41645
41646 2007-04-27  Eric Blake  <ebb9@byu.net>
41647
41648         * lib/freading.h: Improve comments.
41649         * lib/fwriting.h: Likewise.
41650         * lib/fflush.c: Likewise.
41651
41652         Fix closein for mingw.
41653         * modules/closein-tests: Add tests for closein.
41654         * tests/test-closein.c: New file.
41655         * tests/test-closein.sh: Likewise.
41656         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
41657         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
41658
41659 2007-04-27  Bruno Haible  <bruno@clisp.org>
41660
41661         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
41662         version is < 6.
41663         * lib/math_.h [__DECC]: Likewise.
41664         * lib/stdio_.h [__DECC]: Likewise.
41665         * lib/stdlib_.h [__DECC]: Likewise.
41666         * lib/string_.h [__DECC]: Likewise.
41667         * lib/time_.h [__DECC]: Likewise.
41668         * lib/wchar_.h [__DECC]: Likewise.
41669         * lib/wctype_.h [__DECC]: Likewise.
41670
41671 2007-04-27  Bruno Haible  <bruno@clisp.org>
41672
41673         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
41674
41675 2007-04-27  Bruno Haible  <bruno@clisp.org>
41676
41677         * lib/fflush.c: Add comments.
41678         * modules/fpurge-tests (Depends-on): Add fflush.
41679         * modules/freadable-tests (Depends-on): Likewise.
41680         * modules/fwritable-tests (Depends-on): Likewise.
41681
41682 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
41683
41684         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
41685         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
41686         Report by Bruno Haible <bruno@clisp.org>.
41687
41688 2007-04-26  Eric Blake  <ebb9@byu.net>
41689
41690         Fix fflush on mingw.
41691         * modules/fflush (Depends-on): Add freading.
41692         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
41693         but unread data.
41694
41695 2007-04-26  Eric Blake  <ebb9@byu.net>
41696         and Bruno Haible  <bruno@clisp.org>
41697
41698         Implement freading and fwriting.
41699         * lib/freading.c: New file.
41700         * lib/freading.h: Likewise.
41701         * m4/freading.m4: Likewise.
41702         * modules/freading: Likewise.
41703         * modules/freading-tests: Likewise.
41704         * tests/test-freading.c: Likewise.
41705         * lib/fwriting.c: New file.
41706         * lib/fwriting.h: Likewise.
41707         * m4/fwriting.m4: Likewise.
41708         * modules/fwriting: Likewise.
41709         * modules/fwriting-tests: Likewise.
41710         * tests/test-fwriting.c: Likewise.
41711         * MODULES.html.sh (File stream based Input/Output): Mention them.
41712
41713 2007-04-26  Bruno Haible  <bruno@clisp.org>
41714
41715         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
41716         'long' when we assume it.
41717         Suggested by Eric Blake.
41718
41719 2007-04-26  Bruno Haible  <bruno@clisp.org>
41720
41721         Ensure fseeko, ftello are declared on glibc systems.
41722         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
41723         * modules/fseeko (configure.ac-early): Likewise.
41724         * modules/ftello (configure.ac-early): Likewise.
41725         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
41726         AC_FUNC_FSEEKO for this.
41727         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
41728         (gl_CHECK_FSEEKO): Remove macro.
41729
41730 2007-04-26  Bruno Haible  <bruno@clisp.org>
41731
41732         * tests/test-fflush.c (main): Also check the ftell result after
41733         fflush and fseek/fseeko.
41734         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
41735         file descriptor position cache in the stream.
41736         * lib/fseeko.c (rpl_fseeko): Likewise.
41737
41738 2007-04-26  Bruno Haible  <bruno@clisp.org>
41739
41740         * modules/fflush-tests (Depends-on): Add fseeko.
41741
41742 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
41743             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41744
41745         * lib/argz_.h: ensure error_t definition is obtained in same
41746         mechanism system argz.h would have.
41747         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
41748         argz facilities are known bad.  Err on the side of caution if
41749         cross-compiling.
41750
41751 2007-04-25  Eric Blake  <ebb9@byu.net>
41752
41753         * lib/fpurge.c (includes): Use stdlib.h for free.
41754         * tests/test-fflush.c (main): Also test fflush-fseeko.
41755
41756 2007-04-25  Bruno Haible  <bruno@clisp.org>
41757
41758         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
41759         * lib/fseeko.c: New file.
41760         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
41761         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
41762         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
41763         gl_FUNC_FSEEKO.
41764         (gl_FUNC_FSEEKO): Invoke it.
41765         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
41766         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
41767         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
41768
41769 2007-04-25  Bruno Haible  <bruno@clisp.org>
41770
41771         * modules/fflush (Depends-on): Add ftello.
41772
41773 2007-04-25  Bruno Haible  <bruno@clisp.org>
41774
41775         * modules/ftello-tests: New file.
41776         * tests/test-ftello.c: New file.
41777
41778         * modules/ftello: New file.
41779         * m4/ftello.m4: New file.
41780         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
41781         HAVE_FTELLO.
41782         * lib/stdio_.h (ftello): New declaration.
41783         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
41784         HAVE_FTELLO.
41785
41786 2007-04-25  Bruno Haible  <bruno@clisp.org>
41787
41788         * modules/fseeko-tests: New file.
41789         * tests/test-fseeko.c: New file.
41790
41791         * modules/fseeko: New file.
41792         * m4/fseeko.m4: New file.
41793         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
41794         HAVE_FSEEKO.
41795         * lib/stdio_.h (fseeko): New declaration.
41796         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
41797         HAVE_FSEEKO.
41798
41799 2007-04-25  Bruno Haible  <bruno@clisp.org>
41800
41801         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
41802
41803 2007-04-25  Bruno Haible  <bruno@clisp.org>
41804
41805         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
41806         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
41807         * tests/test-unistd.c: Likewise.
41808         * tests/test-fcntl.c: Likewise.
41809
41810 2007-04-23  Eric Blake  <ebb9@byu.net>
41811
41812         * lib/fflush.c: Fix missing include.
41813         Reported by Bruno Haible.
41814
41815 2007-04-23  Bruno Haible  <bruno@clisp.org>
41816
41817         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
41818         Reported by Eric Blake.
41819
41820 2007-04-23  Bruno Haible  <bruno@clisp.org>
41821
41822         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
41823
41824 2007-04-23  Bruno Haible  <bruno@clisp.org>
41825
41826         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
41827
41828 2007-04-23  Bruno Haible  <bruno@clisp.org>
41829
41830         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
41831         Needed on HP-UX 11.
41832
41833 2007-04-16  Eric Blake  <ebb9@byu.net>
41834
41835         Make fflush rely on fpurge.
41836         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
41837         open coding all variants.
41838         * modules/fflush (Depends-on): Add fpurge and unistd.
41839         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
41840         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
41841
41842         Fix --with-tests compilation on cygwin.
41843         * modules/argmatch-tests (Makefile.am): List gnulib library first
41844         in LDADD.
41845         * modules/argp-tests (Makefile.am): Likewise.
41846         * modules/array-list-tests (Makefile.am): Likewise.
41847         * modules/array-oset-tests (Makefile.am): Likewise.
41848         * modules/avltree-list-tests (Makefile.am): Likewise.
41849         * modules/avltree-oset-tests (Makefile.am): Likewise.
41850         * modules/avltreehash-list-tests (Makefile.am): Likewise.
41851         * modules/carray-list-tests (Makefile.am): Likewise.
41852         * modules/dirname-tests (Makefile.am): Likewise.
41853         * modules/frexp-tests (Makefile.am): Likewise.
41854         * modules/isnanl-tests (Makefile.am): Likewise.
41855         * modules/linked-list-tests (Makefile.am): Likewise.
41856         * modules/linkedhash-list-tests (Makefile.am): Likewise.
41857         * modules/lock-tests (Makefile.am): Likewise.
41858         * modules/rbtree-list-tests (Makefile.am): Likewise.
41859         * modules/rbtree-oset-tests (Makefile.am): Likewise.
41860         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
41861         * modules/tls-tests (Makefile.am): Likewise.
41862         * modules/tsearch-tests (Makefile.am): Likewise.
41863         * modules/xvasprintf-tests (Makefile.am): Likewise.
41864
41865         Fix fpurge for cygwin.
41866         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
41867         value.
41868         * modules/fpurge-tests (Depends-on): Clean up trash.
41869
41870 2007-04-16  Simon Josefsson  <simon@josefsson.org>
41871
41872         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
41873
41874         * m4/autobuild.m4: Re-indent.
41875
41876 2007-04-13  Bruno Haible  <bruno@clisp.org>
41877
41878         * modules/fpurge-tests: New file.
41879         * tests/test-fpurge.c: New file.
41880
41881         * modules/fpurge: New file.
41882         * lib/fpurge.h: New file.
41883         * lib/fpurge.c: New file.
41884         * m4/fpurge.m4: New file.
41885
41886 2007-04-13  Bruno Haible  <bruno@clisp.org>
41887
41888         * modules/fbufmode-tests: New file.
41889         * tests/test-fbufmode.c: New file.
41890
41891         * modules/fbufmode: New file.
41892         * lib/fbufmode.h: New file.
41893         * lib/fbufmode.c: New file.
41894         * m4/fbufmode.m4: New file.
41895
41896 2007-04-13  Bruno Haible  <bruno@clisp.org>
41897
41898         * modules/fwritable-tests: New file.
41899         * tests/test-fwritable.c: New file.
41900
41901         * modules/fwritable: New file.
41902         * lib/fwritable.h: New file.
41903         * lib/fwritable.c: New file.
41904         * m4/fwritable.m4: New file.
41905
41906 2007-04-13  Bruno Haible  <bruno@clisp.org>
41907
41908         * modules/freadable-tests: New file.
41909         * tests/test-freadable.c: New file.
41910
41911         * modules/freadable: New file.
41912         * lib/freadable.h: New file.
41913         * lib/freadable.c: New file.
41914         * m4/freadable.m4: New file.
41915
41916 2007-04-13  Bruno Haible  <bruno@clisp.org>
41917
41918         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
41919         MOSTLYCLEANFILES.
41920
41921 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
41922
41923         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
41924         gzip bootstrap.conf to avoid dragging in i18n machinery.
41925         (gnulib_tool_option): Use it.
41926
41927 2007-04-13  Bruno Haible  <bruno@clisp.org>
41928
41929         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
41930         %F directives.
41931         * tests/test-vasprintf-posix.c (test_function): Likewise.
41932         * tests/test-snprintf-posix.h (test_function): Likewise.
41933         * tests/test-sprintf-posix.h (test_function): Likewise.
41934         * tests/test-fprintf-posix.h (test_function): Likewise.
41935         * tests/test-printf-posix.h (test_function): Likewise.
41936         * tests/test-fprintf-posix.out: Likewise.
41937
41938 2007-04-13  Bruno Haible  <bruno@clisp.org>
41939
41940         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
41941         * modules/tls-tests (configure.ac): Likewise.
41942         Reported by Arto C. Nirkko <anirkko@insel.ch>.
41943
41944 2007-04-13  Bruno Haible  <bruno@clisp.org>
41945
41946         * lib/tls.c (glthread_tls_get): Fix return type.
41947         Patch by Arto C. Nirkko <anirkko@insel.ch>.
41948
41949 2007-04-12  Eric Blake  <ebb9@byu.net>
41950
41951         * modules/gettime (Depends-on): Remove gettime.
41952         Reported by Dmitry V. Levin.
41953
41954 2007-04-12  Bruno Haible  <bruno@clisp.org>
41955
41956         * modules/fflush (Include): Mention <stdio.h>.
41957         * modules/strtoimax (Include): Mention <inttypes.h>.
41958         * modules/strtoumax (Include): Likewise.
41959
41960 2007-04-12  Eric Blake  <ebb9@byu.net>
41961
41962         * .cvsignore: New file.
41963         * .gitignore: Likewise.
41964
41965 2007-04-12  Bruno Haible  <bruno@clisp.org>
41966
41967         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
41968         not before, since $(LDADD) often contains libgnu.a.
41969         * modules/striconv-tests (test_striconv_LDADD): Likewise.
41970         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
41971         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
41972         Needed on Cygwin.
41973
41974 2007-04-12  Eric Blake  <ebb9@byu.net>
41975
41976         Work around glibc's failure to flush stdin on fclose.
41977         * lib/closein.c (close_stdin): Flush stdin before closing.
41978
41979         Work around glibc's failure to reset seekable stdin on exit.
41980         * modules/closein: New module.
41981         * lib/closein.c: New file.
41982         * lib/closein.h: Likewise.
41983         * m4/closein.m4: Likewise.
41984         * MODULES.html.sh (File stream based Input/Output): Document it.
41985
41986 2007-04-12  Simon Josefsson  <simon@josefsson.org>
41987
41988         * gnulib-tool: Rename generated 'autobuild' script to
41989         'do-autobuild' in --create-megatestdir output.
41990
41991         * doc/gnulib.texi (Build robot for gnulib): Fix.
41992
41993 2007-04-12  Simon Josefsson  <simon@josefsson.org>
41994
41995         * modules/sysexits (Depends-on): Add absolute-header.
41996
41997 2007-04-12  Eric Blake  <ebb9@byu.net>
41998
41999         No need to preserve errno on success.
42000         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
42001         Reported by Bruno Haible.
42002
42003 2007-04-12  Simon Josefsson  <simon@josefsson.org>
42004
42005         * MODULES.html.sh (Support for maintaining and releasing
42006         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
42007
42008 2007-04-12  Simon Josefsson  <simon@josefsson.org>
42009
42010         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
42011
42012 2007-04-12  Simon Josefsson  <simon@josefsson.org>
42013
42014         * modules/autobuild: New module.
42015
42016         * m4/autobuild.m4: New file.
42017
42018 2007-04-11  Bruno Haible  <bruno@clisp.org>
42019
42020         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
42021         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
42022         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
42023         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
42024         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
42025         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
42026         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
42027         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
42028         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
42029         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
42030         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
42031         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
42032         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
42033         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
42034         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
42035         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
42036         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
42037         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
42038         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
42039         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
42040         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
42041         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
42042         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
42043         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
42044         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
42045         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
42046         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
42047         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
42048         Reported by Eric Blake.
42049
42050 2007-04-11  Bruno Haible  <bruno@clisp.org>
42051
42052         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
42053
42054 2007-04-10  Bruno Haible  <bruno@clisp.org>
42055
42056         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
42057         for NaN and Infinity. Needed on FreeBSD 6.1.
42058         * tests/test-vasnprintf-posix.c (test_function): Undo last change
42059         regarding results for "%010a" of Infinity and NaN.
42060         * tests/test-vasprintf-posix.c (test_function): Likewise.
42061         * tests/test-snprintf-posix.h (test_function): Likewise.
42062         * tests/test-sprintf-posix.h (test_function): Likewise.
42063         * tests/test-fprintf-posix.h (test_function): Likewise.
42064         * tests/test-printf-posix.h (test_function): Likewise.
42065         * tests/test-fprintf-posix.out: Likewise.
42066
42067 2007-04-10  Bruno Haible  <bruno@clisp.org>
42068
42069         * modules/locale-tests: New file.
42070         * tests/test-locale.c: New file.
42071
42072         * modules/locale: New file.
42073         * lib/locale_.h: New file.
42074         * m4/locale_h.m4: New file.
42075
42076 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
42077             Bruno Haible  <bruno@clisp.org>
42078
42079         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
42080         be determined, test for availability of the copysignf, copysign,
42081         copysignl functions.
42082         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
42083         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
42084         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
42085
42086 2007-04-09  Eric Blake  <ebb9@byu.net>
42087
42088         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
42089         * modules/stdio (Makefile.am): Support fflush.
42090         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
42091         * modules/fflush: New file.
42092         * lib/fflush.c: Likewise.
42093         * m4/fflush.m4: Likewise.
42094         * modules/fflush-tests: New test.
42095         * tests/test-fflush.c: Likewise.
42096         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
42097
42098 2007-04-06  Bruno Haible  <bruno@clisp.org>
42099
42100         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
42101         (VASNPRINTF): Use signbit for faster determination whether to print a
42102         minus sign.
42103         * modules/vasnprintf (Files): Remove lib/float+.h.
42104         * modules/fprintf-posix (Depends-on): Add signbit.
42105         * modules/snprintf-posix (Depends-on): Likewise.
42106         * modules/sprintf-posix (Depends-on): Likewise.
42107         * modules/vasnprintf-posix (Depends-on): Likewise.
42108         * modules/vasprintf-posix (Depends-on): Likewise.
42109         * modules/vfprintf-posix (Depends-on): Likewise.
42110         * modules/vsnprintf-posix (Depends-on): Likewise.
42111         * modules/vsprintf-posix (Depends-on): Likewise.
42112
42113 2007-04-06  Bruno Haible  <bruno@clisp.org>
42114
42115         * tests/test-frexp.c (main): Test also the sign bit of zero results.
42116         * tests/test-frexpl.c (main): Likewise.
42117         * tests/test-ldexpl.c (main): Likewise.
42118         * modules/frexp-tests (Depends-on): Add signbit.
42119         * modules/frexpl-tests (Depdends-on): Likewise.
42120         * modules/ldexpl-tests (Depdends-on): Likewise.
42121
42122 2007-04-06  Bruno Haible  <bruno@clisp.org>
42123
42124         * modules/signbit-tests: New file.
42125         * tests/test-signbit.c: New file.
42126
42127         * modules/signbit: New file.
42128         * lib/signbitf.c: New file.
42129         * lib/signbitd.c: New file.
42130         * lib/signbitl.c: New file.
42131         * m4/signbit.m4: New file.
42132         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
42133         (signbit): New macro.
42134         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
42135         REPLACE_SIGNBIT.
42136         * modules/math (Makefile.am) Substibute also GNULIB_SIGNBIT and
42137         REPLACE_FREXPL into math.h.
42138
42139 2007-04-06  Bruno Haible  <bruno@clisp.org>
42140
42141         * modules/isnanf-nolibm-tests: New file.
42142         * tests/test-isnanf.c: New file.
42143
42144         * modules/isnanf-nolibm: New file.
42145         * lib/isnanf.h: New file.
42146         * lib/isnanf.c: New file.
42147         * lib/isnan.c: Consider the USE_FLOAT macro.
42148         * m4/isnanf.m4: New file.
42149
42150 2007-04-06  Bruno Haible  <bruno@clisp.org>
42151
42152         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
42153         (Link): New section.
42154
42155         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
42156
42157 2007-04-06  Bruno Haible  <bruno@clisp.org>
42158
42159         Assume the 'long double' type.
42160         * m4/longdouble.m4: Remove file.
42161         * config/srclist.txt: Don't mention longdouble.m4.
42162         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
42163         * lib/float+.h: Likewise.
42164         * lib/frexp.c: Likewise.
42165         * lib/printf-args.h: Likewise.
42166         * lib/printf-args.c: Likewise.
42167         * lib/printf-frexp.c: Likewise.
42168         * lib/printf-parse.c: Likewise.
42169         * lib/vasnprintf.c: Likewise.
42170         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
42171         * m4/intl.m4: Likewise.
42172         * m4/isnanl.m4: Likewise.
42173         * m4/printf.m4: Likewise.
42174         * m4/printf-frexpl.m4: Likewise.
42175         * m4/vasnprintf.m4: Likewise.
42176         * modules/allocsa (Files): Remove m4/longdouble.m4.
42177         * modules/gettext (Files): Likewise.
42178         * modules/relocatable-prog-wrapper (Files): Likewise.
42179         * modules/vasnprintf (Files): Likewise.
42180         * modules/isnanl (Files): Likewise.
42181         (Include): Simplify.
42182         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
42183         (Include): Simplify.
42184         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
42185         (Include): Simplify.
42186         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
42187         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
42188         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
42189         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
42190         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
42191         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
42192         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
42193         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
42194         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
42195         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
42196         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
42197         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
42198         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
42199         * tests/test-isnanl.c: Likewise.
42200         * tests/test-snprintf-posix.h: Likewise.
42201         * tests/test-sprintf-posix.h: Likewise.
42202         * tests/test-vasnprintf-posix.c: Likewise.
42203         * tests/test-vasnprintf-posix2.c: Likewise.
42204         * tests/test-vasprintf-posix.c: Likewise.
42205
42206 2007-04-06  Bruno Haible  <bruno@clisp.org>
42207
42208         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
42209         * lib/math_.h [__DECC]: Include the overridden include file through
42210         #include_next, outside the double-inclusion guard.
42211         * lib/stdio_.h [__DECC]: Likewise.
42212         * lib/stdlib_.h [__DECC]: Likewise.
42213         * lib/string_.h [__DECC]: Likewise.
42214         * lib/time_.h [__DECC]: Likewise.
42215         * lib/wchar_.h [__DECC]: Likewise.
42216         * lib/wctype_.h [__DECC]: Likewise.
42217         * lib/inttypes_.h [__DECC]: Likewise.
42218         Reported by Albert Chin <china@thewrittenword.com> in
42219         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
42220
42221 2007-04-04  Eric Blake  <ebb9@byu.net>
42222
42223         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
42224         1.5.x.
42225
42226 2007-04-04  Bruno Haible  <bruno@clisp.org>
42227
42228         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
42229         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
42230
42231 2007-04-04  Bruno Haible  <bruno@clisp.org>
42232
42233         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
42234         results for "%010a" of Infinity and NaN.
42235         * tests/test-vasprintf-posix.c (test_function): Likewise.
42236         * tests/test-snprintf-posix.h (test_function): Likewise.
42237         * tests/test-sprintf-posix.h (test_function): Likewise.
42238         * tests/test-fprintf-posix.h (test_function): Remove these tests.
42239         * tests/test-printf-posix.h (test_function): Likewise.
42240         * tests/test-fprintf-posix.out: Update.
42241         Needed for FreeBSD 6.1.
42242
42243 2007-04-04  Bruno Haible  <bruno@clisp.org>
42244
42245         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
42246         directly used by the gnulib modules nor by gnulib-tool.
42247
42248 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
42249
42250         * DEPENDENCIES: Give overall description of version dependency
42251         desirability.  Use more-typical names for apps.
42252         Add shell, coreutils, diffutils, grep, tar, gzip.
42253
42254 2007-04-04  Simon Josefsson  <simon@josefsson.org>
42255
42256         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
42257
42258 2007-04-04  Karl Berry  <karl@gnu.org>
42259
42260         * MODULES.html.sh (func_module): missing '.
42261
42262 2007-04-03  Bruno Haible  <bruno@clisp.org>
42263
42264         * modules/argmatch-tests (Makefile.am): New variable
42265         test_argmatch_LDADD.
42266         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
42267         * modules/array-list-tests (Makefile.am): New variable
42268         test_array_list_LDADD.
42269         * modules/array-oset-tests (Makefile.am): New variable
42270         test_array_oset_LDADD.
42271         * modules/avltree-list-tests (Makefile.am): New variable
42272         test_avltree_list_LDADD.
42273         * modules/avltree-oset-tests (Makefile.am): New variable
42274         test_avltree_oset_LDADD.
42275         * modules/avltreehash-list-tests (Makefile.am): New variable
42276         test_avltreehash_list_LDADD.
42277         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
42278         test_canonicalize_lgpl_LDADD.
42279         * modules/carray-list-tests (Makefile.am): New variable
42280         test_carray_list_LDADD.
42281         * modules/dirname-tests (Makefile.am): New variable
42282         test_dirname_LDADD.
42283         * modules/linked-list-tests (Makefile.am): New variable
42284         test_linked_list_LDADD.
42285         * modules/linkedhash-list-tests (Makefile.am): New variable
42286         test_linkedhash_list_LDADD.
42287         * modules/rbtree-list-tests (Makefile.am): New variable
42288         test_rbtree_list_LDADD.
42289         * modules/rbtree-oset-tests (Makefile.am): New variable
42290         test_rbtree_oset_LDADD.
42291         * modules/rbtreehash-list-tests (Makefile.am): New variable
42292         test_rbtreehash_list_LDADD.
42293         * modules/xvasprintf-tests (Makefile.am): New variable
42294         test_xvasprintf_LDADD.
42295         Reported by Eric Blake.
42296
42297 2007-04-03  Eric Blake  <ebb9@byu.net>
42298
42299         * DEPENDENCIES: Weaken m4 requirements.
42300
42301 2007-04-03  Bruno Haible  <bruno@clisp.org>
42302
42303         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
42304         * modules/isnanl-tests (configure.ac): Likewise.
42305
42306 2007-04-03  Ben Pfaff  <blp@gnu.org>
42307
42308         * modules/iconv_open: Add $(srcdir)/ to source directory
42309         references in Makefile fragments that call gperf, to fix VPATH
42310         builds.
42311
42312 2007-04-03  Bruno Haible  <bruno@clisp.org>
42313
42314         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
42315         * lib/ldexpl.c: Undo last change.
42316
42317 2007-04-03  Bruno Haible  <bruno@clisp.org>
42318
42319         * modules/printf-frexpl (Depends-on): Undo last change.
42320         (Files): Add m4/ldexpl.m4.
42321
42322 2007-04-03  Bruno Haible  <bruno@clisp.org>
42323
42324         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
42325         * modules/isnanl (Link): New section.
42326
42327         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
42328         * modules/frexp (Link): New section.
42329
42330         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
42331         * modules/frexpl (Link): New section.
42332
42333         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
42334         * modules/ldexpl (Link): New section.
42335
42336 2007-04-03  Bruno Haible  <bruno@clisp.org>
42337
42338         * modules/TEMPLATE-EXTENDED: New file.
42339         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
42340
42341 2007-04-03  Bruno Haible  <bruno@clisp.org>
42342
42343         * DEPENDENCIES: New file.
42344         Suggested by Simon Josefsson.
42345
42346 2007-04-03  Bruno Haible  <bruno@clisp.org>
42347
42348         * doc/gnulib.texi: Escape @.
42349
42350 2007-04-03  James Youngman  <jay@gnu.org>
42351         and Paul Eggert  <eggert@cs.ucla.edu>
42352
42353         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
42354         birthtime on all systems that have birthtime, not just those which
42355         use st_birthtimensec rather than st_birthtim.  Putting zero in
42356         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
42357         that the birth time is not available for files on an NFS mount.
42358
42359 2007-04-03  Simon Josefsson  <simon@josefsson.org>
42360
42361         * modules/memxor: Move back from crypto/, suggested by Bruno.
42362         * modules/crypto/hmac-sha1: Fix memxor dependency.
42363
42364         * modules/crypto/gc: Moved from ../.
42365
42366 2007-04-02  Eric Blake  <ebb9@byu.net>
42367
42368         * lib/ldexpl.c (includes): Avoid libm.
42369
42370         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
42371
42372 2007-04-02  Bruno Haible  <bruno@clisp.org>
42373
42374         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
42375         on IRIX.
42376
42377 2007-04-02  Bruno Haible  <bruno@clisp.org>
42378
42379         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
42380         x86 or x86_64 platforms running MacOS X.
42381         Reported by Ryan Schmidt <@ryandesign.com>.
42382
42383 2007-04-02  Bruno Haible  <bruno@clisp.org>
42384
42385         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
42386         i386.
42387
42388 2007-04-01  Simon Josefsson  <simon@josefsson.org>
42389
42390         * modules/crypto/arcfour: Moved from ../.
42391         * modules/crypto/arcfour-tests: Moved from ../.
42392         * modules/crypto/arctwo: Moved from ../.
42393         * modules/crypto/arctwo-tests: Moved from ../.
42394         * modules/crypto/des: Moved from ../.
42395         * modules/crypto/des-tests: Moved from ../.
42396         * modules/crypto/gc-arcfour: Moved from ../.
42397         * modules/crypto/gc-arcfour-tests: Moved from ../.
42398         * modules/crypto/gc-arctwo: Moved from ../.
42399         * modules/crypto/gc-arctwo-tests: Moved from ../.
42400         * modules/crypto/gc-des: Moved from ../.
42401         * modules/crypto/gc-des-tests: Moved from ../.
42402         * modules/crypto/gc-hmac-md5: Moved from ../.
42403         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
42404         * modules/crypto/gc-hmac-sha1: Moved from ../.
42405         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
42406         * modules/crypto/gc-md2: Moved from ../.
42407         * modules/crypto/gc-md2-tests: Moved from ../.
42408         * modules/crypto/gc-md4: Moved from ../.
42409         * modules/crypto/gc-md4-tests: Moved from ../.
42410         * modules/crypto/gc-md5: Moved from ../.
42411         * modules/crypto/gc-md5-tests: Moved from ../.
42412         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
42413         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
42414         * modules/crypto/gc-random: Moved from ../.
42415         * modules/crypto/gc-rijndael: Moved from ../.
42416         * modules/crypto/gc-rijndael-tests: Moved from ../.
42417         * modules/crypto/gc-sha1: Moved from ../.
42418         * modules/crypto/gc-sha1-tests: Moved from ../.
42419         * modules/crypto/gc-tests: Moved from ../.
42420         * modules/crypto/hmac-md5: Moved from ../.
42421         * modules/crypto/hmac-md5-tests: Moved from ../.
42422         * modules/crypto/hmac-sha1: Moved from ../.
42423         * modules/crypto/hmac-sha1-tests: Moved from ../.
42424         * modules/crypto/md2: Moved from ../.
42425         * modules/crypto/md2-tests: Moved from ../.
42426         * modules/crypto/md4: Moved from ../.
42427         * modules/crypto/md4-tests: Moved from ../.
42428         * modules/crypto/md5: Moved from ../.
42429         * modules/crypto/md5-tests: Moved from ../.
42430         * modules/crypto/memxor: Moved from ../.
42431         * modules/crypto/rijndael: Moved from ../.
42432         * modules/crypto/rijndael-tests: Moved from ../.
42433         * modules/crypto/sha1: Moved from ../.
42434
42435 2007-03-30  James Youngman  <jay@gnu.org>
42436
42437         * tests/test-stat-time.c (prepare_test): use chmod() rather than
42438         rename() to change the ctime of a file (because ctime is unaffected
42439         by rename on jfs2 on AIX 5.1).
42440         (main): Start by doing cleanup, in case a previous run failed leaving
42441         test files behind.
42442
42443 2007-03-31  Bruno Haible  <bruno@clisp.org>
42444
42445         Support old proprietary implementations of iconv.
42446         * modules/iconv_open: New file.
42447         * lib/iconv_.h: New file.
42448         * m4/iconv_h.m4: New file.
42449         * lib/iconv_open.c: New file.
42450         * lib/iconv_open-aix.gperf: New file.
42451         * lib/iconv_open-hpux.gperf: New file.
42452         * lib/iconv_open-irix.gperf: New file.
42453         * lib/iconv_open-osf.gperf: New file.
42454         * m4/iconv_open.m4: New file.
42455         * modules/linebreak (Depends-on): Add iconv_open.
42456         * modules/striconv (Depends-on): Likewise.
42457         * modules/striconveh (Depends-on): Likewise.
42458         * modules/unicodeio (Depends-on): Likewise.
42459         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
42460         (iconv_t)(-1).
42461         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
42462         conversion if cd is (iconv_t)(-1).
42463         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
42464         is not possible.
42465
42466 2007-03-31  Bruno Haible  <bruno@clisp.org>
42467
42468         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
42469         work on Solaris either. Protect also second use of "autodetect_jp".
42470
42471 2007-03-31  Bruno Haible  <bruno@clisp.org>
42472
42473         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
42474         the function is not present.
42475
42476 2007-03-31  Bruno Haible  <bruno@clisp.org>
42477
42478         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
42479         the function is not present.
42480
42481 2007-03-31  Bruno Haible  <bruno@clisp.org>
42482
42483         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
42484         a bug in HP-UX iconv_open().
42485
42486 2007-03-31  Bruno Haible  <bruno@clisp.org>
42487
42488         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
42489         (Mathematics <math.h>): New section, add fpieee.
42490         (Input/output <stdio.h>): Add fseterr.
42491         (Mathematics <math.h>): New section, add printf-frexp.
42492         (Container data structures): Add sublist.
42493         (Core language properties): Add fpucw, inline.
42494         (Functions for greatest-width integer types <inttypes.h>): Add
42495         imaxabs, imaxdiv, inttypes.
42496         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
42497         isnanl-nolibm, ldexp.
42498         (Mathematics <math.h>): New section, add printf-frexpl.
42499         (Support for systems lacking POSIX:2001): Add fprintf-posix,
42500         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
42501         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
42502         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
42503         (Unicode string functions): Add unistr/u*-mbtoucr.
42504         (Java): Add javacomp-script, javaexec-script.
42505         (C#): Add csharpcomp-script, csharpexec-script.
42506         (Support for building libraries and executables): Add havelib,
42507         relocatable-*.
42508         (Support for maintaining and releasing projects): Renamed from
42509         'Support for maintaining and release projects'. Add announce-gen.
42510
42511 2007-03-31  Bruno Haible  <bruno@clisp.org>
42512
42513         * README: Talk primarily about git.
42514         (git and CVS): Renamed from CVS.
42515         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
42516         gnulib is available through git.
42517         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
42518
42519 2007-03-30  Bruno Haible  <bruno@clisp.org>
42520
42521         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
42522         * lib/poll_.h: Likewise.
42523         * lib/stat_.h: Likewise.
42524         * lib/sys_time_.h: Likewise.
42525         * lib/sysexit_.h: Likewise.
42526         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
42527         * lib/stdbool_.h: Likewise.
42528         * lib/byteswap_.h: Add double-inclusion guard.
42529
42530 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
42531
42532         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
42533
42534 2007-03-30  Karl Berry  <karl@gnu.org>
42535
42536         * config/srclist-update: double space after USA in the license
42537         substitution, since that's how it's usually (?) written.
42538
42539 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
42540
42541         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
42542         reported by Bruno Haible.
42543
42544 2007-03-29  Bruno Haible  <bruno@clisp.org>
42545
42546         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
42547         a bug in AIX iconv().
42548
42549 2007-03-29  Bruno Haible  <bruno@clisp.org>
42550
42551         * modules/ldexpl-tests: New file.
42552         * tests/test-ldexpl.c: New file.
42553
42554 2007-03-29  Bruno Haible  <bruno@clisp.org>
42555
42556         * lib/ldexpl.c: Include fpucw.h.
42557         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
42558         multiplication.
42559         * modules/ldexpl (Depends-on): Add fpucw.
42560
42561 2007-03-29  Bruno Haible  <bruno@clisp.org>
42562
42563         * modules/ldexpl: New file.
42564         * m4/ldexpl.m4: New file.
42565         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
42566         set.
42567         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
42568         REPLACE_LDEXPL.
42569         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
42570         REPLACE_LDEXPL.
42571         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
42572         gl_FUNC_LDEXPL_WORKS.
42573         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
42574         * modules/mathl (Files): Remove lib/ldexpl.c.
42575         (Depends-on): Add ldexpl.
42576
42577 2007-03-29  Bruno Haible  <bruno@clisp.org>
42578
42579         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
42580
42581 2007-03-29  Bruno Haible  <bruno@clisp.org>
42582
42583         * tests/test-striconveh.c (main): Don't assume that a direct conversion
42584         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
42585         and possibly also HP-UX.
42586         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
42587         work on AIX, IRIX, HP-UX, OSF/1.
42588         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
42589         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
42590         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
42591         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
42592         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
42593         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
42594
42595 2007-03-29  Bruno Haible  <bruno@clisp.org>
42596
42597         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
42598
42599 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
42600
42601         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
42602         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
42603
42604 2007-03-29  Eric Blake  <ebb9@byu.net>
42605
42606         * lib/acl-internal.h: Remove redundant include.
42607         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
42608         Cygwin when a file is locked.
42609
42610 2007-03-29  Bruno Haible  <bruno@clisp.org>
42611
42612         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
42613         file.
42614         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
42615
42616 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
42617
42618         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
42619         try to remove a parent directory if the child couldn't be removed
42620         (except for the first rmdir, which could fail because the child
42621         doesn't exist).  Problem reported by Jeff Blaine in
42622         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
42623
42624 2007-03-28  Bruno Haible  <bruno@clisp.org>
42625
42626         * lib/striconveh.c (utf8conv_carefully): New function.
42627         (mem_cd_iconveh_internal): Invoke it.
42628
42629 2007-03-28  Bruno Haible  <bruno@clisp.org>
42630
42631         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
42632         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
42633         input.
42634         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
42635         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
42636         unistr/u8-uctomb.
42637
42638 2007-03-28  Bruno Haible  <bruno@clisp.org>
42639
42640         * modules/unistr/u8-mbtoucr: New file.
42641         * lib/unistr/u8-mbtoucr.c: New file.
42642         * modules/unistr/u16-mbtoucr: New file.
42643         * lib/unistr/u16-mbtoucr.c: New file.
42644         * modules/unistr/u16-mbtoucr: New file.
42645         * lib/unistr/u16-mbtoucr.c: New file.
42646         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
42647
42648 2007-03-27  Simon Josefsson  <simon@josefsson.org>
42649             Bruno Haible  <bruno@clisp.org>
42650
42651         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
42652         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
42653         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
42654
42655         * m4/stdio_h.m4: Add stubs for vasprintf too.
42656
42657         * modules/stdio: Support vasprintf in sed command.
42658
42659         * modules/vasprintf: Depend on stdio for prototypes.  Remove
42660         vasprintf.h.  Add stdio module indicator.
42661
42662         * lib/stdio_.h: Declare asprintf and vasprintf, based on
42663         vasprintf.h.
42664
42665         * lib/vasprintf.h: File removed.
42666
42667         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
42668         * lib/vasprintf.c: Ditto.
42669         * lib/xvasprintf.c: Ditto.
42670         * tests/test-vasprintf-posix.c: Ditto.
42671         * tests/test-vasprintf.c: Ditto.
42672
42673 2007-03-27  Bruno Haible  <bruno@clisp.org>
42674
42675         Make vasnprintf multithread-safe.
42676         * lib/vasnprintf.c (decimal_point_char): New function.
42677         (VASNPRINTF): Use it.
42678         Suggested by Simon Josefsson.
42679
42680 2007-03-27  Eric Blake  <ebb9@byu.net>
42681
42682         Support sub-second birthtime on cygwin.
42683         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
42684         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
42685         (get_stat_birthtime): Also work with st_birthtim.
42686
42687 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
42688
42689         * lib/stat-time.h (USE_BIRTHTIME): Remove.
42690         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
42691         (get_stat_birthtime_ns): Do not try to use "spare" fields.
42692         (get_stat_birthtime_ns): Simplify compile-time tests.
42693         (get_stat_birthtime): Change the API to look like
42694         get_stat_mtime etc., except return a negative tv_nsec on error.
42695         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
42696         Don't check for "spare" fields.
42697         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
42698         or for struct stat.st_birthtime, as these tests aren't used.
42699         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
42700
42701 2007-03-27  Bruno Haible  <bruno@clisp.org>
42702
42703         * lib/stat-time.h: Include <sys/stat.h>.
42704
42705 2007-03-27  James Youngman  <jay@gnu.org>
42706
42707         * lib/stat-time.h (get_stat_birthtime): New function for
42708           retrieving st_birthtime as provided by UFS2 (hence *BSD).
42709         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
42710           and its variants.
42711         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
42712         * modules/stat-time-test: New file.
42713         * tests/test-stat-time.c: New test, devised by Bruno Haible.
42714
42715 2007-03-26  Bruno Haible  <bruno@clisp.org>
42716
42717         Better support of signalling NaNs.
42718         * lib/atanl.c: Include isnanl.h.
42719         (atanl): Perform test for NaN at the beginning of the function and
42720         through a call to isnanl.
42721         * lib/cosl.c: Include isnanl.h.
42722         (cosl): Perform test for NaN at the beginning of the function and
42723         through a call to isnanl.
42724         * lib/ldexpl.c: Include isnanl.h.
42725         (ldexpl): Perform test for NaN through a call to isnanl.
42726         * lib/logl.c: Include isnanl.h.
42727         (logl): Perform test for NaN at the beginning of the function and
42728         through a call to isnanl.
42729         * lib/sinl.c: Include isnanl.h.
42730         (sinl): Perform test for NaN at the beginning of the function and
42731         through a call to isnanl.
42732         * lib/sqrtl.c: Include isnanl.h.
42733         (sqrtl): Perform test for NaN at the beginning of the function and
42734         through a call to isnanl.
42735         * lib/tanl.c: Include isnanl.h.
42736         (tanl): Perform test for NaN at the beginning of the function and
42737         through a call to isnanl.
42738         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
42739         * modules/mathl (Depends-on): Add isnanl.
42740
42741 2007-03-26  Eric Blake  <ebb9@byu.net>
42742
42743         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
42744         regression in logic sense of previous patch.
42745
42746 2007-03-26  Bruno Haible  <bruno@clisp.org>
42747
42748         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
42749         unportable shell command "if ! ...".
42750         Reported by Ralf Wildenhues.
42751
42752 2007-03-25  Bruno Haible  <bruno@clisp.org>
42753
42754         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
42755         <sysexits.h> file, and only add EX_CONFIG.
42756         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
42757         absolute file name and whether it is sufficient. Substitute also
42758         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
42759         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
42760         ABSOLUTE_SYSEXITS_H into sysexits.h.
42761
42762 2007-03-25  Bruno Haible  <bruno@clisp.org>
42763
42764         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
42765         hints is NULL.
42766
42767 2007-03-25  Bruno Haible  <bruno@clisp.org>
42768
42769         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
42770         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
42771
42772 2007-03-25  Bruno Haible  <bruno@clisp.org>
42773
42774         * lib/vasnprintf.c: Include langinfo.h.
42775         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
42776         multithread-safe.
42777         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
42778         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
42779         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
42780         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
42781         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
42782         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
42783         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
42784         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
42785         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
42786         Reported by Simon Josefsson.
42787
42788 2007-03-25  Bruno Haible  <bruno@clisp.org>
42789
42790         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
42791         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
42792         * modules/vasnprintf (Depends-on): Add stdint.
42793
42794 2007-03-25  Bruno Haible  <bruno@clisp.org>
42795
42796         * modules/fpieee: New file.
42797         * m4/fpieee.m4: New file.
42798         * modules/isnan-nolibm (Depends-on): Add fpieee.
42799         * modules/isnanl-nolibm (Depends-on): Add fpieee.
42800         * modules/isnanl (Depends-on): Add fpieee.
42801
42802 2007-03-25  Bruno Haible  <bruno@clisp.org>
42803
42804         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
42805
42806 2007-03-25  Bruno Haible  <bruno@clisp.org>
42807
42808         Avoid test failures on IRIX 6.5.
42809         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
42810         (main): Use it.
42811         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
42812         macros.
42813         (main): Use them.
42814
42815 2007-03-25  Bruno Haible  <bruno@clisp.org>
42816
42817         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
42818         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
42819         exists but doesn't work.
42820         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
42821         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
42822         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
42823         * modules/math (Makefile.am) Substibute also REPLACE_FREXPL into math.h.
42824
42825 2007-03-25  Bruno Haible  <bruno@clisp.org>
42826
42827         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
42828         returns inf. Needed on IRIX 6.5.
42829
42830 2007-03-25  Bruno Haible  <bruno@clisp.org>
42831
42832         * tests/test-frexpl.c: Include isnanl-nolibm.h.
42833         (main): Use isnanl instead of x != x idiom.
42834         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
42835
42836         * tests/test-frexp.c: Include isnan.h.
42837         (main): Use isnan instead of x != x idiom.
42838         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
42839
42840 2007-03-25  Bruno Haible  <bruno@clisp.org>
42841
42842         * tests/test-frexp.c (NaN): New function/macro.
42843         (main): Use it instead of 0.0 / 0.0.
42844         * tests/test-isnan.c (NaN): New function/macro.
42845         (main): Use it instead of 0.0 / 0.0.
42846         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
42847         (test_function): Use it instead of 0.0 / 0.0.
42848         * tests/test-vasprintf-posix.c (NaN): New function/macro.
42849         (test_function): Use it instead of 0.0 / 0.0.
42850         * tests/test-snprintf-posix.h (NaN): New function/macro.
42851         (test_function): Use it instead of 0.0 / 0.0.
42852         * tests/test-sprintf-posix.h (NaN): New function/macro.
42853         (test_function): Use it instead of 0.0 / 0.0.
42854         * tests/test-fprintf-posix.h (NaN): New function/macro.
42855         (test_function): Use it instead of 0.0 / 0.0.
42856         * tests/test-printf-posix.h (NaN): New function/macro.
42857         (test_function): Use it instead of 0.0 / 0.0.
42858
42859         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
42860
42861 2007-03-25  Bruno Haible  <bruno@clisp.org>
42862
42863         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
42864
42865 2007-03-25  Bruno Haible  <bruno@clisp.org>
42866
42867         * lib/regexec.c (merge_state_with_log): Make static.
42868
42869 2007-03-25  Bruno Haible  <bruno@clisp.org>
42870
42871         * lib/trigl.c (kernel_rem_pio2): Make static.
42872
42873 2007-03-25  Bruno Haible  <bruno@clisp.org>
42874
42875         * lib/sincosl.c (sincosl_table): Make static.
42876
42877 2007-03-25  Bruno Haible  <bruno@clisp.org>
42878
42879         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
42880         if the compiler does not support C99.
42881
42882 2007-03-25  Bruno Haible  <bruno@clisp.org>
42883
42884         * modules/time (Makefile.am): Ensure all rule action lines start with a
42885         tab.
42886
42887 2007-03-24  Bruno Haible  <bruno@clisp.org>
42888
42889         * modules/tsearch-tests: New file.
42890         * tests/test-tsearch.sh: New file.
42891         * tests/test-tsearch.c: New file, mostly copied from glibc.
42892
42893         * modules/search-tests: New file.
42894         * tests/test-search.c: New file.
42895
42896         * modules/search: New file.
42897         * lib/search_.h: New file, incorporating lib/tsearch.h.
42898         * m4/search_h.m4: New file.
42899         * lib/tsearch.h: Remove file.
42900         * lib/tsearch.c: Include search.h instead of tsearch.h.
42901         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
42902         HAVE_TSEARCH.
42903         * modules/tsearch (Files): Remove lib/tsearch.h.
42904         (Depends-on): Add search.
42905         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
42906         (Include): Change tsearch.h into search.h.
42907
42908 2007-03-24  Bruno Haible  <bruno@clisp.org>
42909
42910         * modules/fpucw: New file.
42911         * lib/fpucw.h: New file.
42912         * lib/frexp.c: Include fpucw.h.
42913         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
42914         (FUNC): Use them.
42915         * lib/printf-frexp.c: Include fpucw.h.
42916         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
42917         (FUNC): Use them.
42918         * lib/vasnprintf.c: Include fpucw.h.
42919         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
42920         'long double' calculations.
42921         * tests/test-frexpl.c: Include fpucw.h.
42922         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
42923         * tests/test-printf-frexpl.c: Include fpucw.h.
42924         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
42925         * modules/frexpl (Depends-on): Add fpucw.
42926         * modules/printf-frexpl (Depends-on): Likewise.
42927         * modules/fprintf-posix (Depends-on): Likewise.
42928         * modules/snprintf-posix (Depends-on): Likewise.
42929         * modules/sprintf-posix (Depends-on): Likewise.
42930         * modules/vasnprintf-posix (Depends-on): Likewise.
42931         * modules/vasprintf-posix (Depends-on): Likewise.
42932         * modules/vfprintf-posix (Depends-on): Likewise.
42933         * modules/vsnprintf-posix (Depends-on): Likewise.
42934         * modules/vsprintf-posix (Depends-on): Likewise.
42935         * modules/frexpl-tests (Depends-on): Likewise.
42936         * modules/printf-frexpl-tests (Depends-on): Likewise.
42937
42938 2007-03-24  Bruno Haible  <bruno@clisp.org>
42939
42940         * lib/float+.h: New file.
42941         * lib/isnan.c: Include float+.h.
42942         (SIZE): New macro.
42943         (FUNC): Compare only SIZE bytes of the value.
42944         * lib/vasnprintf.c: Include float+.h.
42945         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
42946         SIZEOF_LDBL or SIZEOF_DBL bytes.
42947         * modules/isnan-nolibm (Files): Add lib/float+.h.
42948         * modules/isnanl-nolibm (Files): Add lib/float+.h.
42949         * modules/isnanl (Files): Add lib/float+.h.
42950         * modules/vasnprintf (Files): Add lib/float+.h.
42951
42952 2007-03-24  Bruno Haible  <bruno@clisp.org>
42953
42954         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
42955         include isnanl-nolibm.h.
42956
42957 2007-03-24  Bruno Haible  <bruno@clisp.org>
42958
42959         * tests/test-read-file.c (main): Don't produce spurious output for
42960         expected situations. Make the test fail if it encountered unexpected
42961         results.
42962
42963 2007-03-24  Bruno Haible  <bruno@clisp.org>
42964
42965         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
42966         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
42967
42968 2007-03-24  Bruno Haible  <bruno@clisp.org>
42969
42970         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
42971
42972 2007-03-24  Bruno Haible  <bruno@clisp.org>
42973
42974         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
42975         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
42976
42977         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
42978         * modules/utf8-ucs4: Turn into a symbolic link to module
42979         unistr/u8-mbtouc.
42980
42981         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
42982         utf8-ucs4-unsafe.
42983         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
42984         unistr/u8-mbtouc-unsafe.
42985
42986         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
42987         * modules/utf16-ucs4: Turn into a symbolic link to module
42988         unistr/u16-mbtouc.
42989
42990         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
42991         utf16-ucs4-unsafe.
42992         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
42993         unistr/u16-mbtouc-unsafe.
42994
42995         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
42996         * modules/ucs4-utf8: Turn into a symbolic link to module
42997         unistr/u8-ubtomb.
42998
42999         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
43000         * modules/ucs4-utf16: Turn into a symbolic link to module
43001         unistr/u16-ubtomb.
43002
43003 2007-03-24  Bruno Haible  <bruno@clisp.org>
43004
43005         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
43006         Enable the function only if HAVE_INLINE.
43007         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
43008         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
43009         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
43010         Enable the function only if HAVE_INLINE.
43011         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
43012         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
43013         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
43014         Enable the function only if HAVE_INLINE.
43015         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
43016         Enable the function only if HAVE_INLINE.
43017         * modules/utf8-ucs4: Update.
43018         * modules/utf8-ucs4-unsafe: Update.
43019         * modules/utf16-ucs4: Update.
43020         * modules/utf16-ucs4-unsafe: Update.
43021         * modules/ucs4-utf8: Update.
43022         * modules/ucs4-utf16: Update.
43023
43024 2007-03-24  Bruno Haible  <bruno@clisp.org>
43025
43026         * lib/utf8-ucs4.h: Remove file.
43027         * lib/utf8-ucs4-unsafe.h: Remove file.
43028         * lib/utf16-ucs4.h: Remove file.
43029         * lib/utf16-ucs4-unsafe.h: Remove file.
43030         * lib/ucs4-utf8.h: Remove file.
43031         * lib/ucs4-utf16.h: Remove file.
43032         * lib/unistr.h: Include their previous contents.
43033         * m4/utf-ucs4.m4: Remove file.
43034         * m4/ucs4-utf.m4: Remove file.
43035         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
43036         (Depends-on): Add unistr/base.
43037         (configure.ac): Remove gl_UTF_UCS4.
43038         (Makefile.am): Update.
43039         (Include): Change to unistr.h.
43040         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
43041         (Depends-on): Add unistr/base.
43042         (configure.ac): Remove gl_UTF_UCS4.
43043         (Makefile.am): Update.
43044         (Include): Change to unistr.h.
43045         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
43046         (Depends-on): Add unistr/base.
43047         (configure.ac): Remove gl_UTF_UCS4.
43048         (Makefile.am): Update.
43049         (Include): Change to unistr.h.
43050         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
43051         (Depends-on): Add unistr/base.
43052         (configure.ac): Remove gl_UTF_UCS4.
43053         (Makefile.am): Update.
43054         (Include): Change to unistr.h.
43055         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
43056         (Depends-on): Add unistr/base.
43057         (configure.ac): Remove gl_UCS4_UTF.
43058         (Makefile.am): Update.
43059         (Include): Change to unistr.h.
43060         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
43061         (Depends-on): Add unistr/base.
43062         (configure.ac): Remove gl_UCS4_UTF.
43063         (Makefile.am): Update.
43064         (Include): Change to unistr.h.
43065         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
43066         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
43067         utf8-ucs4-unsafe.h.
43068         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
43069         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
43070         utf16-ucs4-unsafe.h.
43071         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
43072         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
43073         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
43074         * lib/unistr/u8-strchr.c: Likewise.
43075         * lib/unistr/u8-strrchr.c: Likewise.
43076         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
43077         * lib/unistr/u16-strchr.c: Likewise.
43078         * lib/unistr/u16-strrchr.c: Likewise.
43079         * lib/striconveh.c: Update.
43080         * lib/linebreak.c: Update.
43081
43082 2007-03-24  Bruno Haible  <bruno@clisp.org>
43083
43084         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
43085         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
43086
43087 2007-03-22  Bruno Haible  <bruno@clisp.org>
43088
43089         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
43090
43091 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
43092
43093         * MODULES.html.sh (File system functions): New module write-any-file.
43094         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
43095         * m4/write-any-file.m4: New files.
43096
43097 2007-03-23  Eric Blake  <ebb9@byu.net>
43098
43099         * gnulib-tool: Rearrange space-tab sequences, since some editors
43100         like to eat them.
43101
43102 2007-03-23  Eric Blake  <ebb9@byu.net>
43103
43104         * lib/version-etc.c (version_etc_va): Update license wording to
43105         be more concise.  Recommended by Richard Stallman.
43106
43107 2007-03-22  Bruno Haible  <bruno@clisp.org>
43108
43109         * lib/poll.c (MSG_PEEK): New fallback definition.
43110
43111 2007-03-22  Bruno Haible  <bruno@clisp.org>
43112
43113         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
43114         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
43115         (main): Update.
43116         Fixes a compilation error on BeOS.
43117
43118 2007-03-22  Bruno Haible  <bruno@clisp.org>
43119
43120         * modules/frexpl-tests: New file.
43121         * tests/test-frexpl.c: New file.
43122
43123         * modules/frexpl: New file.
43124         * m4/frexpl.m4: New file.
43125         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
43126         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
43127         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
43128         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
43129         (Depends-on): Add frexpl. Remove isnanl-nolibm.
43130         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
43131
43132 2007-03-22  Bruno Haible  <bruno@clisp.org>
43133
43134         * lib/frexpl.c: Share code with lib/frexp.c.
43135         * modules/mathl (Files): Add lib/frexp.c.
43136         (Depends-on): Add isnanl-nolibm.
43137
43138 2007-03-22  Bruno Haible  <bruno@clisp.org>
43139
43140         * modules/printf-frexp (Files): Add m4/frexp.m4.
43141         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
43142         only if the found frexp function actually works.
43143
43144 2007-03-22  Bruno Haible  <bruno@clisp.org>
43145
43146         * lib/frexp.c: Remove older implementation that uses divisions.
43147
43148 2007-03-21  Bruno Haible  <bruno@clisp.org>
43149
43150         * modules/frexp-tests: New file.
43151         * tests/test-frexp.c: New file.
43152
43153         * modules/frexp: New file.
43154         * lib/frexp.c: New file.
43155         * m4/frexp.m4: New file.
43156         * lib/math_.h (frexp): New declaration.
43157         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
43158         REPLACE_FREXP.
43159         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
43160
43161 2007-03-21  Bruno Haible  <bruno@clisp.org>
43162
43163         * modules/isnanl-tests: New file.
43164         * tests/test-isnanl.c: New file.
43165
43166         * modules/isnanl: New file.
43167         * lib/isnanl.h: New file.
43168         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
43169         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
43170         gl_FUNC_ISNANL_WORKS.
43171         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
43172         New macros.
43173
43174 2007-03-21  Bruno Haible  <bruno@clisp.org>
43175
43176         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
43177         lib/isnanl.h.
43178         (Include): Update.
43179         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
43180         * lib/vasnprintf.c: Update.
43181         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
43182         tests/test-isnanl.h, remove tests/test-isnanl.c.
43183         (Makefile.am): Update.
43184         * tests/test-isnanl-nolibm.c: New file.
43185         * tests/test-isnanl.h: New file.
43186         * tests/test-isnanl.c: Remove file.
43187
43188 2007-03-21  Jim Meyering  <jim@meyering.net>
43189
43190         When trying to open ".", treat ESTALE like EACCES.
43191         * lib/savewd.c (savewd_save): Resort to forking not just upon
43192         failure with EACCES, but also when errno is ESTALE.
43193
43194 2007-03-20  Bruno Haible  <bruno@clisp.org>
43195
43196         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
43197         Needed on AIX 5.1. Reported by Matthew Woehlke.
43198
43199 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
43200
43201         Suggestions by Bruno Haible:
43202         * lib/acl-internal.h: Include "gettext.h" rather than rolling
43203         our own.
43204         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
43205         * modules/acl (Depends-on): Add gettext.
43206
43207 2007-03-19  Bruno Haible  <bruno@clisp.org>
43208
43209         * modules/iconvme: Remove file.
43210         * lib/iconvme.h: Remove file.
43211         * lib/iconvme.c: Remove file.
43212         * m4/iconvme.m4: Remove file.
43213
43214 2007-03-19  Bruno Haible  <bruno@clisp.org>
43215
43216         * doc/relocatable-maint.texi: Break long shell script line.
43217         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
43218
43219 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
43220
43221         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
43222         handle file_has_acl.
43223         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
43224         * lib/acl.c: Move header inclusions and related macro defns into
43225         lib/acl-internal.h.
43226         (S_ISLNK): Remove defn, since that's now done for us.
43227         (file_has_acl): Move to lib/file-has-acl.c.
43228         Call acl_trivial if available.  This is the crucial part of the fix.
43229         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
43230         shared within the library.  Rewrite a bit, partly to make it compatible
43231         with the GNU coding style.
43232         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
43233         Remove unnecessary double-quotes.
43234         Don't test for acl_to_text; the build will catch that.
43235         Replace acl_entries if it doesn't exist and it is needed.
43236         Check for -lsec and acl_trivial (as used on Solaris 10).
43237         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
43238         lib/file-has-acl.c.
43239         (Depends-on): Add sys_stat, for S_ISLNK.
43240
43241 2007-03-19  Ben Pfaff  <blp@gnu.org>
43242
43243         * doc/gnulib.texi: Fix typos.
43244         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
43245
43246 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
43247
43248         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
43249         If size is zero here, buf must be zero.
43250
43251 2007-03-19  Simon Josefsson  <simon@josefsson.org>
43252
43253         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
43254         <bruno@clisp.org>.
43255
43256 2007-03-18  Bruno Haible  <bruno@clisp.org>
43257
43258         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
43259         Suggested by Eric Blake.
43260
43261 2007-03-18  Ben Pfaff  <blp@gnu.org>
43262
43263         * doc/relocatable.texi: Recommend using as prefix a directory
43264         that does not exist and will never be created.  Based on
43265         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
43266         and others.
43267
43268 2007-03-17  Bruno Haible  <bruno@clisp.org>
43269
43270         * lib/fchownat.c: Include lchown.h.
43271
43272 2007-03-17  Bruno Haible  <bruno@clisp.org>
43273
43274         Fix endless loop when the given allocated size was > INT_MAX.
43275         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
43276         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
43277         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
43278         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
43279         * lib/sprintf.c (sprintf): Likewise.
43280
43281 2007-03-17  Bruno Haible  <bruno@clisp.org>
43282
43283         * tests/test-argp-2.sh (func_compare): Output a context diff.
43284
43285 2007-03-17  Bruno Haible  <bruno@clisp.org>
43286
43287         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
43288         locale's decimal-point character.
43289
43290 2007-03-17  Bruno Haible  <bruno@clisp.org>
43291
43292         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
43293         before comparing it. Needed because on some platforms (e.g. x86) a
43294         'long double' occupies less bytes than sizeof (long double).
43295
43296 2007-03-17  Bruno Haible  <bruno@clisp.org>
43297
43298         * tests/test-crc.c (main): Make printf statements 64-bit clean.
43299         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
43300         * tests/test-getaddrinfo.c (simple): Likewise.
43301         * tests/test-read-file.c (main): Likewise.
43302
43303 2007-03-17  Bruno Haible  <bruno@clisp.org>
43304
43305         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
43306
43307 2007-03-17  Bruno Haible  <bruno@clisp.org>
43308
43309         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
43310         unused variable.
43311
43312 2007-03-17  Bruno Haible  <bruno@clisp.org>
43313
43314         * tests/test-c-strcasecmp.c: Include c-strcase.h.
43315         * tests/test-c-strncasecmp.c: Likewise.
43316
43317 2007-03-17  Bruno Haible  <bruno@clisp.org>
43318
43319         * modules/stdlib (Depends-on): Add unistd.
43320         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
43321         Needed for MacOS X 10.3.
43322
43323 2007-03-17  Bruno Haible  <bruno@clisp.org>
43324
43325         * lib/unistr/u-strdup.h: Include <stdlib.h>.
43326
43327 2007-03-17  Bruno Haible  <bruno@clisp.org>
43328
43329         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
43330
43331 2007-03-17  Bruno Haible  <bruno@clisp.org>
43332
43333         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
43334         to reflect files copied from gnulib (with or without modifications).
43335         Suggested by Jim Meyering.
43336
43337 2007-03-17  Eric Blake  <ebb9@byu.net>
43338
43339         * NEWS: Document stdlib change from 2007-02-18.
43340
43341 2007-03-17  Jim Meyering  <jim@meyering.net>
43342
43343         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
43344         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
43345         someone uses a name containing shell meta-characters.
43346         Reported by Alfred M. Szmidt.
43347
43348         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
43349
43350 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
43351
43352         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
43353         and copy gettext configuration files only if configure.ac contains
43354         a use of AM_GNU_GETTEXT_VERSION.
43355
43356 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
43357
43358         * build-aux/bootstrap (gnulib_name): New variable.
43359         (gnulib_tool_options): Use it.
43360
43361 2007-03-13  Simon Josefsson  <simon@josefsson.org>
43362
43363         * tests/test-des.c: Use new namespace.
43364
43365 2007-03-15  Bruno Haible  <bruno@clisp.org>
43366
43367         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
43368         Reported by James Youngman <jay@gnu.org>.
43369
43370 2007-03-15  Bruno Haible  <bruno@clisp.org>
43371
43372         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
43373         declared prototype. Needed with cc on OSF/1 5.1.
43374
43375 2007-03-15  Bruno Haible  <bruno@clisp.org>
43376
43377         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
43378         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
43379         (struct gl_list_implementation): Add dispose_fn argument to the
43380         'create_empty', 'create' methods.
43381         (struct gl_list_impl_base): Add field 'dispose_fn'.
43382         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
43383         argument.
43384         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
43385         dispose_fn argument.
43386         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
43387         dispose_fn on the dropped values.
43388         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
43389         dispose_fn argument.
43390         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
43391         dropped values.
43392         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
43393         (gl_tree_remove_node): Call dispose_fn on the dropped value.
43394         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
43395         (gl_tree_remove_node): Call dispose_fn on the dropped value.
43396         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
43397         argument.
43398         (gl_tree_list_free): Call dispose_fn on the dropped values.
43399         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
43400         the dropped values.
43401         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
43402         Add dispose_fn argument.
43403         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
43404         Call dispose_fn on the dropped values.
43405         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
43406         Add dispose_fn argument.
43407         (gl_sublist_create): Initialize the 'dispose_fn' field.
43408         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
43409         * tests/test-array_list.c (main): Update.
43410         * tests/test-carray_list.c (main): Update.
43411         * tests/test-avltree_list.c (main): Update.
43412         * tests/test-rbtree_list.c (main): Update.
43413         * tests/test-avltreehash_list.c (main): Update.
43414         * tests/test-rbtreehash_list.c (main): Update.
43415         * tests/test-linked_list.c (main): Update.
43416         * tests/test-linkedhash_list.c (main): Update.
43417         * tests/test-array_oset.c (main): Update.
43418
43419 2007-03-15  Bruno Haible  <bruno@clisp.org>
43420
43421         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
43422         (gl_oset_create_empty): Add dispose_fn argument.
43423         (struct gl_oset_implementation): Add dispose_fn argument to
43424         'create_empty' method.
43425         (struct gl_oset_impl_base): Add dispose_fn field.
43426         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
43427         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
43428         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
43429         values.
43430         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
43431         (gl_tree_oset_free): Call dispose_fn on the dropped values.
43432         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
43433         dropped value.
43434         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
43435         dropped value.
43436         * tests/test-array_oset.c (main): Update.
43437         * tests/test-avltree_oset.c (main): Update.
43438         * tests/test-rbtree_oset.c (main): Update.
43439         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
43440
43441 2007-03-13  Bruno Haible  <bruno@clisp.org>
43442
43443         * tests/test-stdbool.c (i): Update after last patch.
43444
43445 2007-03-12  Bruno Haible  <bruno@clisp.org>
43446
43447         * lib/quotearg.c: Include <wctype.h> early, before the definition of
43448         the iswprint macro. Needed on Solaris 2.5.1.
43449
43450 2007-03-12  Bruno Haible  <bruno@clisp.org>
43451
43452         * tests/test-printf-frexp.c (main): Declare x as volatile.
43453
43454 2007-03-12  Simon Josefsson  <simon@josefsson.org>
43455
43456         * doc/gnulib.texi (Build robot for gnulib): New section.
43457
43458 2007-03-12  Jim Meyering  <jim@meyering.net>
43459
43460         * build-aux/bootstrap: New file.
43461         * build-aux/bootstrap.conf: New file, from coreutils.
43462
43463 2007-03-11  Bruno Haible  <bruno@clisp.org>
43464
43465         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
43466
43467 2007-03-12  Simon Josefsson  <simon@josefsson.org>
43468
43469         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
43470         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
43471         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
43472
43473 2007-03-11  Bruno Haible  <bruno@clisp.org>
43474
43475         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
43476         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
43477
43478 2007-03-11  Bruno Haible  <bruno@clisp.org>
43479
43480         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
43481         formula. Needed for SunPRO C 5.0.
43482
43483 2007-03-11  Bruno Haible  <bruno@clisp.org>
43484
43485         * modules/long-options (Depends-on): Add getopt.
43486
43487 2007-03-11  Bruno Haible  <bruno@clisp.org>
43488
43489         * modules/modechange (Depends-on): Add stdbool.
43490
43491 2007-03-11  Bruno Haible  <bruno@clisp.org>
43492
43493         * modules/i-ring (Depends-on): Add stdbool.
43494
43495 2007-03-11  Bruno Haible  <bruno@clisp.org>
43496
43497         * modules/gc-des (Depends-on): Add stdbool.
43498
43499 2007-03-11  Bruno Haible  <bruno@clisp.org>
43500
43501         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
43502
43503 2007-03-11  Bruno Haible  <bruno@clisp.org>
43504
43505         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
43506
43507 2007-03-11  Bruno Haible  <bruno@clisp.org>
43508
43509         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
43510
43511 2007-03-11  Bruno Haible  <bruno@clisp.org>
43512
43513         * lib/vasnprintf.c (sprintf): Undefine.
43514
43515 2007-03-11  Bruno Haible  <bruno@clisp.org>
43516
43517         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
43518         initializers in SunPRO C and Compaq C compilers.
43519
43520 2007-03-11  Bruno Haible  <bruno@clisp.org>
43521
43522         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
43523         decrementing code ANSI C compliant.
43524
43525 2007-03-11  Bruno Haible  <bruno@clisp.org>
43526
43527         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
43528         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
43529
43530 2007-03-11  Bruno Haible  <bruno@clisp.org>
43531
43532         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
43533         <stdbool.h> substitute doesn't pass.
43534
43535 2007-03-11  Bruno Haible  <bruno@clisp.org>
43536
43537         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
43538
43539 2007-03-11  Bruno Haible  <bruno@clisp.org>
43540
43541         * gnulib-tool (func_create_megatestdir): Create also an autobuild
43542         script, for submission to autobuild.josefsson.org.
43543
43544 2007-03-10  Bruno Haible  <bruno@clisp.org>
43545
43546         * modules/canonicalize-lgpl-tests: New file.
43547         * tests/test-canonicalize-lgpl.sh: New file.
43548         * tests/test-canonicalize-lgpl.c: New file.
43549
43550         * modules/c-strcase-tests: New file.
43551         * tests/test-c-strcase.sh: New file.
43552         * tests/test-c-strcasecmp.c: New file.
43553         * tests/test-c-strncasecmp.c: New file.
43554
43555         * modules/atexit-tests: New file.
43556         * tests/test-atexit.sh: New file.
43557         * tests/test-atexit.c: New file.
43558
43559 2007-03-10  Bruno Haible  <bruno@clisp.org>
43560
43561         * tests/test-binary-io.sh: Use temporary filenames that are not so
43562         likely to clash with those of other tests (in a parallel make).
43563         * tests/test-binary-io.c: Likewise.
43564
43565 2007-03-10  Bruno Haible  <bruno@clisp.org>
43566
43567         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
43568         fallback; use #error instead.
43569         Suggested by Simon Josefsson.
43570
43571 2007-03-10  Bruno Haible  <bruno@clisp.org>
43572
43573         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
43574         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
43575         first and the last.
43576
43577 2007-03-10  Bruno Haible  <bruno@clisp.org>
43578
43579         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
43580
43581 2007-03-10  Bruno Haible  <bruno@clisp.org>
43582
43583         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
43584         "make distcheck".
43585         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
43586         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
43587         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
43588
43589 2007-03-10  Bruno Haible  <bruno@clisp.org>
43590
43591         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
43592         variable.
43593         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
43594         variable.
43595
43596 2007-03-09  Eric Blake  <ebb9@byu.net>
43597         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
43598
43599         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
43600         types are not being provided by gnulib.
43601         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
43602         types are supported.
43603
43604 2007-03-10  Bruno Haible  <bruno@clisp.org>
43605
43606         * lib/stdio_.h (__attribute__): New macro.
43607         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
43608         vsprintf): Specify __attribute__ __format__ for GCC.
43609         Suggested by Eric Blake.
43610
43611 2007-03-09  Bruno Haible  <bruno@clisp.org>
43612
43613         * modules/printf-posix-tests: New file.
43614         * tests/test-printf-posix.sh: New file.
43615         * tests/test-printf-posix.c: New file.
43616
43617         * modules/printf-posix: New file.
43618         * lib/printf.c: New file.
43619         * m4/printf-posix-rpl.m4: New file.
43620         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
43621         REPLACE_PRINTF.
43622         * lib/stdio_.h (printf): New declaration.
43623         (format, __format__, ____printf____, ____scanf____, ____strftime____,
43624         ____strfmon____): New macros.
43625         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
43626         REPLACE_PRINTF.
43627
43628 2007-03-09  Bruno Haible  <bruno@clisp.org>
43629
43630         * tests/test-vasnprintf-posix2.sh: New file.
43631         * tests/test-vasnprintf-posix2.c: New file.
43632         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
43633         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
43634         (Makefile.am): Activate test-vasnprintf-posix2.sh.
43635
43636         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
43637         a locale dependent decimal point, rather than always '.'.
43638
43639 2007-03-09  Eric Blake  <ebb9@byu.net>
43640
43641         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
43642         spite of platforms like Tandem/NSK that define it to -1.
43643
43644 2007-03-08  Bruno Haible  <bruno@clisp.org>
43645
43646         * modules/vprintf-posix-tests: New file.
43647         * tests/test-vprintf-posix.sh: New file.
43648         * tests/test-vprintf-posix.c: New file.
43649         * tests/test-printf-posix.h: New file.
43650
43651         * modules/vprintf-posix: New file.
43652         * lib/vprintf.c: New file.
43653         * m4/vprintf-posix.m4: New file.
43654         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
43655         REPLACE_VPRINTF.
43656         * lib/stdio_.h (vprintf): New declaration.
43657         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
43658         REPLACE_VPRINTF.
43659
43660 2007-03-08  Bruno Haible  <bruno@clisp.org>
43661
43662         * modules/fprintf-posix-tests: New file.
43663         * tests/test-fprintf-posix.sh: New file.
43664         * tests/test-fprintf-posix.c: New file.
43665
43666         * modules/fprintf-posix: New file.
43667         * lib/fprintf.c: New file.
43668         * m4/fprintf-posix.m4: New file.
43669         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
43670         REPLACE_FPRINTF.
43671         * lib/stdio_.h (fprintf): New declaration.
43672         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
43673         REPLACE_FPRINTF.
43674
43675 2007-03-08  Bruno Haible  <bruno@clisp.org>
43676
43677         * modules/vfprintf-posix-tests: New file.
43678         * tests/test-vfprintf-posix.sh: New file.
43679         * tests/test-vfprintf-posix.c: New file.
43680         * tests/test-fprintf-posix.h: New file.
43681         * tests/test-fprintf-posix.out: New file.
43682
43683         * modules/vfprintf-posix: New file.
43684         * lib/vfprintf.c: New file.
43685         * m4/vfprintf-posix.m4: New file.
43686         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
43687         REPLACE_VFPRINTF.
43688         * lib/stdio_.h (vfprintf): New declaration.
43689         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
43690         REPLACE_VFPRINTF.
43691
43692 2007-03-08  Bruno Haible  <bruno@clisp.org>
43693
43694         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
43695
43696 2007-03-08  Bruno Haible  <bruno@clisp.org>
43697
43698         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
43699         instead of 'expr' invocations.
43700         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
43701         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
43702         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
43703         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
43704         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
43705         Suggested by Paul Eggert.
43706
43707 2007-03-08  Bruno Haible  <bruno@clisp.org>
43708
43709         * modules/fseterr-tests: New file.
43710         * tests/test-fseterr.c: New file.
43711
43712         * modules/fseterr: New file.
43713         * lib/fseterr.h: New file.
43714         * lib/fseterr.c: New file.
43715
43716 2007-03-08  Bruno Haible  <bruno@clisp.org>
43717
43718         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
43719         * lib/getopt_.h: Likewise.
43720         * lib/mbswidth.h: Likewise.
43721         * lib/setenv.h: Likewise.
43722         * lib/vasnprintf.h: Likewise.
43723         * lib/vasprintf.h: Likewise.
43724         * lib/verror.h: Likewise.
43725         * lib/xsetenv.h: Likewise.
43726         * lib/xvasprintf.h: Likewise.
43727
43728 2007-03-08  Jim Meyering  <jim@meyering.net>
43729
43730         * users.txt: Add parted.
43731
43732         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
43733
43734 2007-03-07  Bruno Haible  <bruno@clisp.org>
43735
43736         * m4/printf.m4: Make the shell script snippets copy&pastable.
43737
43738 2007-03-02  Bruno Haible  <bruno@clisp.org>
43739
43740         * lib/netinet_in_.h: New file.
43741         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
43742         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
43743         * modules/netinet_in (Files): Add lib/netinet_in_.h.
43744         (Depends-on): Add absolute-header.
43745         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
43746         into netinet/in.h.
43747
43748 2007-03-03  Bruno Haible  <bruno@clisp.org>
43749
43750         * lib/sys_select_.h: New file.
43751         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
43752         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
43753         * modules/sys_select (Files): Add lib/sys_select_.h.
43754         (Depends-on): Add absolute-header.
43755         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
43756         into sys/select.h.
43757
43758 2007-03-02  Bruno Haible  <bruno@clisp.org>
43759
43760         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
43761         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
43762         values.
43763         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
43764         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
43765         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
43766         * modules/sys_socket (Depends-on): Add absolute-header.
43767         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
43768         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
43769         (Include): Remove requirement of inclusion of <sys/types.h>.
43770
43771 2007-03-02  Bruno Haible  <bruno@clisp.org>
43772
43773         * lib/byteswap_.h (bswap_32): Fix formula.
43774
43775 2007-03-06  Bruno Haible  <bruno@clisp.org>
43776
43777         * modules/sprintf-posix-tests: New file.
43778         * tests/test-sprintf-posix.c: New file.
43779
43780         * modules/sprintf-posix: New file.
43781         * lib/sprintf.c: New file.
43782         * m4/sprintf-posix.m4: New file.
43783         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
43784         REPLACE_SPRINTF.
43785         * lib/stdio_.h (sprintf): New declaration.
43786         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
43787         REPLACE_SPRINTF.
43788
43789 2007-03-06  Bruno Haible  <bruno@clisp.org>
43790
43791         * modules/vsprintf-posix-tests: New file.
43792         * tests/test-vsprintf-posix.c: New file.
43793         * tests/test-sprintf-posix.h: New file.
43794
43795         * modules/vsprintf-posix: New file.
43796         * lib/vsprintf.c: New file.
43797         * m4/vsprintf-posix.m4: New file.
43798         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
43799         REPLACE_VSPRINTF.
43800         * lib/stdio_.h (vsprintf): New declaration.
43801         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
43802         REPLACE_VSPRINTF.
43803
43804 2007-03-06  Bruno Haible  <bruno@clisp.org>
43805
43806         * modules/vsnprintf (Depend-on): Remove minmax.
43807
43808 2007-03-06  Bruno Haible  <bruno@clisp.org>
43809
43810         * modules/snprintf-posix-tests: New file.
43811         * tests/test-snprintf-posix.c: New file.
43812
43813         * modules/snprintf-posix: New file.
43814         * m4/snprintf-posix.m4: New file.
43815         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
43816         gl_FUNC_SNPRINTF.
43817         (gl_FUNC_SNPRINTF): Invoke it.
43818         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
43819         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
43820         is set.
43821         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
43822
43823 2007-03-06  Bruno Haible  <bruno@clisp.org>
43824
43825         * modules/vsnprintf-posix-tests: New file.
43826         * tests/test-vsnprintf-posix.c: New file.
43827         * tests/test-snprintf-posix.h: New file.
43828
43829         * modules/vsnprintf-posix: New file.
43830         * m4/vsnprintf-posix.m4: New file.
43831         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
43832         gl_FUNC_VSNPRINTF.
43833         (gl_FUNC_VSNPRINTF): Invoke it.
43834         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
43835         * lib/stdio_.h (vsnprintf): Define as a replacement if
43836         REPLACE_VSNPRINTF is set.
43837         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
43838
43839 2007-03-06  Bruno Haible  <bruno@clisp.org>
43840
43841         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
43842         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
43843
43844 2007-03-06  Bruno Haible  <bruno@clisp.org>
43845
43846         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
43847         (asinl): Declare also if HAVE_DECL_ASINL is set.
43848         (atanl): Declare also if HAVE_DECL_ATANL is set.
43849         (ceill): Declare also if HAVE_DECL_CEILL is set.
43850         (cosl): Declare also if HAVE_DECL_COSL is set.
43851         (expl): Declare also if HAVE_DECL_EXPL is set.
43852         (floorl): Declare also if HAVE_DECL_FLOORL is set.
43853         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
43854         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
43855         (logl): Declare also if HAVE_DECL_LOGL is set.
43856         (sinl): Declare also if HAVE_DECL_SINL is set.
43857         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
43858         (tanl): Declare also if HAVE_DECL_TANL is set.
43859         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
43860         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
43861         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
43862         declaration of frexpl, ldexpl.
43863         * modules/printf-frexpl (Depends-on): Add math.
43864         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
43865
43866 2007-03-05  Bruno Haible  <bruno@clisp.org>
43867
43868         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
43869         frexpl and ldexpl are declared.
43870         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
43871
43872 2007-03-05  Bruno Haible  <bruno@clisp.org>
43873
43874         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
43875         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
43876
43877 2007-03-05  Bruno Haible  <bruno@clisp.org>
43878
43879         * lib/stdio_.h: Include <stddef.h>.
43880
43881 2007-03-05  Bruno Haible  <bruno@clisp.org>
43882
43883         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
43884
43885 2007-03-05  Bruno Haible  <bruno@clisp.org>
43886
43887         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
43888         NetBSD 4, from Ralf Wildenhues.
43889
43890 2007-03-04  Bruno Haible  <bruno@clisp.org>
43891
43892         * lib/vasprintf.h: Update #if logic for the case when the functions
43893         exist but are overridden.
43894
43895 2007-03-04  Bruno Haible  <bruno@clisp.org>
43896
43897         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
43898         implementations: glibc-2.4 and MacOS X 10.3.
43899         * tests/test-vasnprintf-posix.c (test_function): Test also the case
43900         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
43901         * tests/test-vasprintf-posix.c (test_function): Likewise.
43902
43903 2007-03-04  Bruno Haible  <bruno@clisp.org>
43904
43905         * modules/vasprintf-posix-tests: New file.
43906         * tests/test-vasprintf-posix.c: New file.
43907
43908         * modules/vasprintf-posix: New file.
43909         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
43910         defined.
43911         * m4/vasprintf-posix.m4: New file.
43912         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
43913         gl_FUNC_VASPRINTF.
43914         (gl_FUNC_VASPRINTF): Invoke it.
43915         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
43916         here.
43917         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
43918
43919 2007-03-04  Bruno Haible  <bruno@clisp.org>
43920
43921         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
43922         REPLACE_GETTIMEOFDAY.
43923         * modules/sys_time (Makefile.am): Likewise.
43924         * m4/sys_time_h.m4: Likewise.
43925         * m4/gettimeofday.m4: Likewise.
43926
43927 2007-03-04  Bruno Haible  <bruno@clisp.org>
43928
43929         * modules/vasnprintf-posix-tests: New file.
43930         * tests/test-vasnprintf-posix.c: New file.
43931
43932         * modules/vasnprintf-posix: New file.
43933         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
43934         printf-frexpl.h.
43935         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
43936         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
43937         REPLACE_VASNPRINTF is defined.
43938         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
43939         gl_FUNC_VASNPRINTF.
43940         (gl_FUNC_VASNPRINTF): Invoke it.
43941         * m4/vasnprintf-posix.m4: New file.
43942         * m4/printf.m4: New file.
43943
43944 2007-03-04  Bruno Haible  <bruno@clisp.org>
43945
43946         Compile progreloc.c only if --enable-relocatable is specified.
43947         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
43948         if --enable-relocatable was specified.
43949         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
43950         lib_SOURCES.
43951
43952 2007-03-04  Jim Meyering  <jim@meyering.net>
43953
43954         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
43955         Use it consistently, rather than enumerating errno constants.
43956
43957 2007-03-04  Bruno Haible  <bruno@clisp.org>
43958
43959         * modules/xvasprintf-tests: New file.
43960         * tests/test-xvasprintf.c: New file.
43961
43962         * modules/vasprintf-tests: New file.
43963         * tests/test-vasprintf.c: New file.
43964
43965         * modules/vasnprintf-tests: New file.
43966         * tests/test-vasnprintf.c: New file.
43967
43968         * modules/vsnprintf-tests: New file.
43969         * tests/test-vsnprintf.c: New file.
43970
43971         * modules/snprintf-tests: New file.
43972         * tests/test-snprintf.c: New file.
43973
43974 2007-03-04  Bruno Haible  <bruno@clisp.org>
43975
43976         Compile relocatable.c only if --enable-relocatable is specified.
43977         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
43978         gl_RELOCATABLE_LIBRARY.
43979         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
43980         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
43981         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
43982         gl_RELOCATABLE_LIBRARY.
43983         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
43984         (Makefile.am): Remove lib_SOURCES.
43985         * modules/relocatable-lib-lgpl (configure.ac): Invoke
43986         gl_RELOCATABLE_LIBRARY.
43987         (Makefile.am): Remove lib_SOURCES.
43988         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
43989         always.
43990         * modules/relocatable-prog-wrapper (configure.ac): Invoke
43991         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
43992
43993 2007-03-04  Bruno Haible  <bruno@clisp.org>
43994
43995         * modules/argmatch-tests: New file.
43996         * tests/test-argmatch.c: New file.
43997
43998         * tests/test-allocsa.c (main): Halve the number of loop runs.
43999
44000         * modules/alloca-opt-tests: New file.
44001         * tests/test-alloca-opt.c: New file.
44002
44003 2007-03-04  Jim Meyering  <jim@meyering.net>
44004
44005         Work around difference between Linux ACLs and Solaris 10 ZFS.
44006         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
44007         for EINVAL.
44008
44009 2007-03-03  Bruno Haible  <bruno@clisp.org>
44010
44011         * modules/relocatable-prog (Depends-on): Add back progreloc's
44012         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
44013
44014 2007-03-03  Bruno Haible  <bruno@clisp.org>
44015
44016         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
44017         * modules/relocatable-lib: New file.
44018
44019 2007-03-03  Bruno Haible  <bruno@clisp.org>
44020
44021         * modules/relocatable-prog: Renamed from modules/relocatable.
44022         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
44023
44024 2007-03-03  Bruno Haible  <bruno@clisp.org>
44025
44026         * modules/relocatable-script (Files): Add doc/relocatable.texi,
44027         m4/relocatable-lib.m4.
44028         (Depends-on): Remove 'relocatable'.
44029         (configure.ac): Add gl_RELOCATABLE_NOP.
44030
44031 2007-03-03  Bruno Haible  <bruno@clisp.org>
44032
44033         * modules/relocatable-prog-wrapper: New file.
44034         * modules/relocatable (Depends-on): Add it. Remove all other
44035         dependencies except progname.
44036         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
44037
44038         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
44039         (gl_FUNC_STRERROR): Nop.
44040         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
44041
44042         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
44043         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
44044
44045         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
44046         (gl_FUNC_READLINK): Update.
44047
44048         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
44049
44050 2007-03-03  Bruno Haible  <bruno@clisp.org>
44051
44052         * lib/xreadlink.c: Include <unistd.h> unconditionally.
44053         * modules/xreadlink (Depends-on): Add unistd.
44054         * modules/xreadlink-with-size (Depends-on): Likewise.
44055
44056 2007-03-03  Bruno Haible  <bruno@clisp.org>
44057
44058         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
44059         extracted from gt_FUNC_SETENV.
44060         (gt_FUNC_SETENV): Remove macro.
44061         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
44062         remove gt_FUNC_SETENV.
44063
44064 2007-03-03  Bruno Haible  <bruno@clisp.org>
44065
44066         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
44067         ENABLE_RELOCATABLE here.
44068         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
44069
44070 2007-03-03  Bruno Haible  <bruno@clisp.org>
44071
44072         * modules/rbtreehash-list-tests (Depends-on): Add progname.
44073         * tests/test-rbtreehash_list.c: Include progname.h.
44074         (main): Call set_program_name.
44075
44076         * modules/rbtree-oset-tests (Depends-on): Add progname.
44077         * tests/test-rbtree_oset.c: Include progname.h.
44078         (main): Call set_program_name.
44079
44080         * modules/rbtree-list-tests (Depends-on): Add progname.
44081         * tests/test-rbtree_list.c: Include progname.h.
44082         (main): Call set_program_name.
44083
44084         * modules/linked-list-tests (Depends-on): Add progname.
44085         * tests/test-linked_list.c: Include progname.h.
44086         (main): Call set_program_name.
44087
44088 2007-03-03  Bruno Haible  <bruno@clisp.org>
44089
44090         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
44091         All uses of __restrict changed to _Restrict_.
44092         * lib/glob_.h (__restrict): Remove macro.
44093
44094 2007-03-02  Bruno Haible  <bruno@clisp.org>
44095
44096         * modules/gettext (configure.ac): Require gettext infrastructure
44097         from version 0.16.1.
44098
44099 2007-03-02  Bruno Haible  <bruno@clisp.org>
44100
44101         * modules/linkedhash-list-tests (Depends-on): Add progname.
44102         * tests/test-linkedhash_list.c: Include progname.h.
44103         (main): Call set_program_name.
44104
44105         * modules/carray-list-tests (Depends-on): Add progname.
44106         * tests/test-carray_list.c: Include progname.h.
44107         (main): Call set_program_name.
44108
44109         * modules/avltreehash-list-tests (Depends-on): Add progname.
44110         * tests/test-avltreehash_list.c: Include progname.h.
44111         (main): Call set_program_name.
44112
44113         * modules/avltree-oset-tests (Depends-on): Add progname.
44114         * tests/test-avltree_oset.c: Include progname.h.
44115         (main): Call set_program_name.
44116
44117         * modules/avltree-list-tests (Depends-on): Add progname.
44118         * tests/test-avltree_list.c: Include progname.h.
44119         (main): Call set_program_name.
44120
44121         * modules/array-oset-tests (Depends-on): Add progname.
44122         * tests/test-array_oset.c: Include progname.h.
44123         (main): Call set_program_name.
44124
44125         * modules/array-list-tests (Depends-on): Add progname.
44126         * tests/test-array_list.c: Include progname.h.
44127         (main): Call set_program_name.
44128
44129         * modules/argp-tests (Depends-on): Add progname.
44130         * tests/test-argp.c: Include argp.h first. Include progname.h.
44131         (main): Call set_program_name.
44132
44133 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
44134
44135         * doc/gnulib-tool.texi (Initial import): Reword description of
44136         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
44137         limited effect even if defined after the first system include.
44138
44139 2007-03-01  Bruno Haible  <bruno@clisp.org>
44140
44141         * build-aux/config.libpath: Update to libtool-1.5.22.
44142         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
44143
44144 2007-03-01  Bruno Haible  <bruno@clisp.org>
44145
44146         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
44147         foo_CFLAGS.
44148         Reported by Ralf Wildenhues.
44149
44150 2007-03-01  Bruno Haible  <bruno@clisp.org>
44151
44152         * build-aux/install-reloc: Remove object files left over by some
44153         compilers.
44154         Reported by Ralf Wildenhues.
44155
44156 2007-03-01  Bruno Haible  <bruno@clisp.org>
44157
44158         * build-aux/install-reloc: Break long lines.
44159
44160 2007-03-01  Bruno Haible  <bruno@clisp.org>
44161
44162         * doc/relocatable.texi: Document that it may not work on OpenBSD.
44163         Reported by Ralf Wildenhues.
44164
44165 2007-03-01  Bruno Haible  <bruno@clisp.org>
44166
44167         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
44168         include ordering constraints.
44169
44170 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
44171
44172         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
44173         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
44174         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
44175         as another example.
44176         * lib/time_.h: Fix misspelling.
44177         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
44178         Require gl_HEADER_TIME_H_DEFAULTS.
44179         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
44180         * m4/time_r.m4 (gl_TIME_R): Likewise.
44181         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
44182
44183 2007-03-01  Bruno Haible  <bruno@clisp.org>
44184
44185         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
44186         * m4/utimens.m4 (gl_UTIMENS): Likewise.
44187
44188 2007-03-01  Jim Meyering  <jim@meyering.net>
44189
44190         * modules/xreadlink (Maintainer): Add my name.
44191         * modules/xreadlink-with-size (Depends-on): Alphabetize.
44192
44193 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
44194             Bruno Haible  <bruno@clisp.org>
44195
44196         * build-aux/install-reloc: Compile also c-ctype.c.
44197         * build-aux/relocatable.sh.in: New file.
44198         * doc/relocatable.texi: New file.
44199         * doc/relocatable-maint.texi: New file.
44200         * doc/gnulib.texi: Include relocatable-maint.texi.
44201         * lib/progreloc.c: Include unistd.h unconditionally.
44202         * lib/relocwrapper.c: Include unistd.h unconditionally.
44203         Include c-ctype.h.
44204         (add_dotbin): Use c_tolower.
44205         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
44206         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
44207         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
44208         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
44209         to m4/relocatable-lib.m4.
44210         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
44211         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
44212         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
44213         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
44214         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
44215         * modules/relocatable: New file.
44216         * modules/relocatable-lib: New file.
44217         * modules/relocatable-script: New file.
44218
44219 2007-02-28  Bruno Haible  <bruno@clisp.org>
44220
44221         Import --enable-relocatable infrastructure.
44222         * build-aux/config.libpath: New file, from GNU gettext.
44223         * build-aux/install-reloc: New file, from GNU gettext.
44224         * build-aux/reloc-ldflags: New file, from GNU gettext.
44225         * lib/relocatable.h: New file, from GNU gettext.
44226         * lib/relocatable.c: New file, from GNU gettext.
44227         * lib/relocwrapper.c: New file, from GNU gettext.
44228         * m4/relocatable.m4: New file, from GNU gettext.
44229
44230 2007-02-28  Bruno Haible  <bruno@clisp.org>
44231
44232         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
44233
44234         * modules/xreadlink: New file, from GNU gettext with modifications.
44235         * lib/xreadlink.c: New file, from GNU gettext.
44236         * lib/xreadlink.h: Add comments.
44237         (xreadlink): New declaration.
44238
44239         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
44240         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
44241         lib/xreadlink-with-size.c.
44242         (configure.ac): Remove gl_XREADLINK invocation.
44243         (Makefile.am): Augment lib_SOURCES.
44244         * m4/xreadlink.m4: Remove file.
44245         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
44246         (xreadlink_with_size): Renamed from xreadink.
44247         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
44248         * modules/canonicalize (Depends-on): Replace xreadlink with
44249         xreadlink-with-size.
44250         * lib/canonicalize.c (canonicalize_filename_mode): Update.
44251
44252 2007-02-25  Jim Meyering  <jim@meyering.net>
44253
44254         * build-aux/announce-gen: When complaining about excess arguments,
44255         list them.
44256
44257 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
44258
44259         * README: Document signed integer overflow situation more
44260         accurately.
44261
44262 2007-02-25  Bruno Haible  <bruno@clisp.org>
44263
44264         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
44265         'a' or 'A' conversion.
44266
44267 2007-02-25  Bruno Haible  <bruno@clisp.org>
44268
44269         * modules/filename: Renamed from modules/pathname.
44270         (Files): Replace lib/pathname.h with lib/filename.h. Replace
44271         lib/concatpath.c with lib/concat-filename.c.
44272         (Makefile.am): Update.
44273         (Include): Replace pathname.h with filename.h.
44274         * lib/filename.h: Renamed from lib/pathname.h.
44275         (concatenated_filename): Renamed from concatenated_pathname.
44276         * lib/concat-filename.c: Renamed from lib/concatpath.c.
44277         (concatenated_filename): Renamed from concatenated_pathname.
44278         * lib/findprog.c: Include filename.h instead of pathname.h.
44279         (find_in_path): Update.
44280         * lib/javacomp.c: Include filename.h instead of pathname.h.
44281         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
44282         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
44283         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
44284         is_oldgcj_14_13_usable, is_javac_usable): Update.
44285         * lib/javaexec.c: Include filename.h instead of pathname.h.
44286         (execute_java_class): Update.
44287         * modules/findprog: Update.
44288         * modules/javacomp: Update.
44289         * modules/javaexec: Update.
44290         * MODULES.html.sh (File system functions): Add 'filename', remove
44291         'pathname'.
44292
44293 2007-02-25  Bruno Haible  <bruno@clisp.org>
44294
44295         * modules/printf-frexpl-tests: New file.
44296         * tests/test-printf-frexpl.c: New file.
44297
44298         * modules/printf-frexpl: New file.
44299         * lib/printf-frexpl.h: New file.
44300         * lib/printf-frexpl.c: New file.
44301         * m4/printf-frexpl.m4: New file.
44302
44303 2007-02-25  Bruno Haible  <bruno@clisp.org>
44304
44305         * modules/printf-frexp-tests: New file.
44306         * tests/test-printf-frexp.c: New file.
44307
44308         * modules/printf-frexp: New file.
44309         * lib/printf-frexp.h: New file.
44310         * lib/printf-frexp.c: New file.
44311         * m4/printf-frexp.m4: New file.
44312
44313 2007-02-25  Bruno Haible  <bruno@clisp.org>
44314
44315         Assume automake >= 1.10 for the tests.
44316         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
44317         * modules/arctwo-tests: Likewise.
44318         * modules/argp-tests: Likewise.
44319         * modules/avltree-list-tests: Likewise.
44320         * modules/avltree-oset-tests: Likewise.
44321         * modules/avltreehash-list-tests: Likewise.
44322         * modules/carray-list-tests: Likewise.
44323         * modules/crc-tests: Likewise.
44324         * modules/des-tests: Likewise.
44325         * modules/gc-arcfour-tests: Likewise.
44326         * modules/gc-arctwo-tests: Likewise.
44327         * modules/gc-des-tests: Likewise.
44328         * modules/gc-hmac-md5-tests: Likewise.
44329         * modules/gc-hmac-sha1-tests: Likewise.
44330         * modules/gc-md2-tests: Likewise.
44331         * modules/gc-md4-tests: Likewise.
44332         * modules/gc-md5-tests: Likewise.
44333         * modules/gc-pbkdf2-sha1-tests: Likewise.
44334         * modules/gc-rijndael-tests: Likewise.
44335         * modules/gc-sha1-tests: Likewise.
44336         * modules/gc-tests: Likewise.
44337         * modules/getaddrinfo-tests: Likewise.
44338         * modules/hmac-md5-tests: Likewise.
44339         * modules/hmac-sha1-tests: Likewise.
44340         * modules/linked-list-tests: Likewise.
44341         * modules/linkedhash-list-tests: Likewise.
44342         * modules/lock-tests: Likewise.
44343         * modules/md2-tests: Likewise.
44344         * modules/md4-tests: Likewise.
44345         * modules/md5-tests: Likewise.
44346         * modules/rbtree-list-tests: Likewise.
44347         * modules/rbtree-oset-tests: Likewise.
44348         * modules/rbtreehash-list-tests: Likewise.
44349         * modules/read-file-tests: Likewise.
44350         * modules/rijndael-tests: Likewise.
44351         * modules/stdint-tests: Likewise.
44352         * modules/tls-tests: Likewise.
44353
44354 2007-02-24  Bruno Haible  <bruno@clisp.org>
44355
44356         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
44357         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
44358         function; instead check whether isnan with a double argument links.
44359         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
44360         function; instead check whether isnan with a 'long double' argument
44361         links.
44362         Reported by Eric Blake <ebb9@byu.net>.
44363
44364 2007-02-24  Bruno Haible  <bruno@clisp.org>
44365
44366         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
44367         defined.
44368         * lib/isnanl.c: Remove all code. Just include isnan.c.
44369         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
44370
44371 2007-02-25  Jim Meyering  <jim@meyering.net>
44372
44373         Avoid conflicting types for 'unsetenv' on FreeBSD.
44374         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
44375         conflicting with FreeBSD's (5.0 and 6.1) function declaration
44376         in stdlib.h.
44377
44378 2007-02-24  Bruno Haible  <bruno@clisp.org>
44379
44380         * modules/isnanl-nolibm-tests: New file.
44381         * tests/test-isnanl.c: New file.
44382
44383         * modules/isnanl-nolibm: New file.
44384         * lib/isnanl.h: New file.
44385         * lib/isnanl.c: New file.
44386         * m4/isnanl.m4: New file.
44387
44388 2007-02-24  Bruno Haible  <bruno@clisp.org>
44389
44390         * modules/isnan-nolibm-tests: New file.
44391         * tests/test-isnan.c: New file.
44392
44393         * modules/isnan-nolibm: New file.
44394         * lib/isnan.h: New file.
44395         * lib/isnan.c: New file.
44396         * m4/isnan.m4: New file.
44397
44398 2007-02-24  Bruno Haible  <bruno@clisp.org>
44399
44400         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
44401         assume that an exponent fits in 20 bits.
44402
44403 2007-02-24  Jim Meyering  <jim@meyering.net>
44404
44405         * m4/regex.m4: Update the description of the configure-time option,
44406         --without-included-regex, to state accurately what the defaults are,
44407         and perhaps to give people an idea why using this option is risky.
44408
44409 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
44410
44411         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
44412         loops on small arguments.  This attempts to avoid the problem
44413         Bruno Haible reported for AIX 4.3.2 in
44414         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
44415
44416 2007-02-23  Bruno Haible  <bruno@clisp.org>
44417
44418         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
44419         Needed for help2man.
44420
44421 2007-02-23  Karl Berry  <karl@gnu.org>
44422
44423         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
44424         exists, foo.h should be cvs-ignored, not committed.
44425
44426 2007-02-23  Eric Blake  <ebb9@byu.net>
44427
44428         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
44429         * lib/stat-time.h (includes): Likewise.
44430         * lib/utimecmp.c (includes): Likewise.
44431         * lib/utimens.h (includes): Likewise.
44432         * lib/getdate.y (includes): Also include "timespec.h" for use
44433         internal to the module.
44434         * modules/utimens (Depends-on): Revert yesterday's patch.
44435         * modules/nanosleep (Depends-on): Add missing dependency.
44436
44437 2007-02-22  Bruno Haible  <bruno@clisp.org>
44438
44439         * lib/glob.c: Don't include getlogin_r.h.
44440
44441 2007-02-22  Jim Meyering  <jim@meyering.net>
44442
44443         * modules/utimens (Depends-on): Add timespec, required for
44444         utimens.h's inclusion of timespec.h.
44445
44446 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
44447
44448         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
44449         long unreadable paths in GNU/Linux.  Problem reported by Andreas
44450         Schwab in
44451         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
44452         I'll try to think of a better way to fix the Solaris problem.
44453
44454         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
44455         like glibc; on Solaris 10, it fails with errno == EINVAL.
44456         POSIX says the behavior is unspecified if the first argument is NULL,
44457         so play it safe and never pass NULL to the system getcwd.
44458
44459 2007-02-21  Jim Meyering  <jim@meyering.net>
44460
44461         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
44462         of gettimeofday.  It would conflict with the one now always
44463         provided via sys_time_.h.  Reported by Matthew Woehlke, as
44464         an IRIX 6.5 build failure.
44465
44466 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
44467
44468         Minor fixups to port to Solaris 10 with Sun C 5.8.
44469         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
44470         * modules/getcwd (Depends-on): Add dirfd.
44471         * lib/putenv.c (putenv): #undef it.
44472         (rpl_putenv): New decl.
44473         (malloc, free): Include <stdlib.h> rather than prototyping separately.
44474
44475 2007-02-20  Bruno Haible  <bruno@clisp.org>
44476
44477         * modules/stdio-tests: New file.
44478         * tests/test-stdio.c: New file.
44479
44480         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
44481         (Depends-on): Add stdio.
44482         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
44483         (Include): Use <stdio.h> instead of vsnprintf.h.
44484         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
44485         HAVE_DECL_VSNPRINTF.
44486         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
44487
44488         * modules/snprintf (Files): Remove lib/snprintf.h.
44489         (Depends-on): Add stdio.
44490         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
44491         (Include): Use <stdio.h> instead of snprintf.h.
44492         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
44493         HAVE_DECL_SNPRINTF.
44494         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
44495         * lib/getaddrinfo.c: Likewise.
44496
44497         * modules/stdio: New file.
44498         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
44499         * lib/snprintf.h: Remove file.
44500         * lib/vsnprintf.h: Remove file.
44501         * lib/.cppi-disable: Remove snprintf.h.
44502         * m4/stdio_h.m4: New file.
44503         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
44504
44505 2007-02-20  Jim Meyering  <jim@meyering.net>
44506
44507         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
44508         used by e.g., mingw.  From Bruno Haible.
44509
44510 2007-02-19  Bruno Haible  <bruno@clisp.org>
44511
44512         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
44513         warnings.
44514         Reported by Ben Pfaff <blp@cs.stanford.edu>.
44515
44516 2007-02-19  Bruno Haible  <bruno@clisp.org>
44517
44518         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
44519         from mingw users.
44520
44521 2007-02-19  Bruno Haible  <bruno@clisp.org>
44522
44523         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
44524         warnings.
44525         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
44526
44527 2007-02-19  Jim Meyering  <jim@meyering.net>
44528
44529         Don't use FD after a successful "fdopendir (fd)".
44530         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
44531         Reset it by calling dirfd on the just-obtained DIR*.
44532
44533         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
44534         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
44535
44536 2007-02-18  Bruno Haible  <bruno@clisp.org>
44537
44538         * lib/readlink.c: Include <unistd.h>.
44539         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
44540         HAVE_READLINK.
44541         * modules/readlink (Depends-on): Add unistd.
44542         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
44543         (Include): Add <unistd.h>.
44544
44545         * lib/getlogin_r.h: Remove file.
44546         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
44547         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
44548         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
44549         HAVE_DECL_GETLOGIN_R.
44550         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
44551         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
44552         (Include): Use <unistd.h> instead of getlogin_r.h.
44553
44554         * lib/getcwd.h: Remove file.
44555         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
44556         * lib/xgetcwd.c: Likewise.
44557         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
44558         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
44559         * modules/getcwd (Files): Remove lib/getcwd.h.
44560         (Depends-on): Add unistd.
44561         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
44562         (Include): Use <unistd.h> instad of getcwd.h.
44563
44564         * lib/ftruncate.c: Include <unistd.h> first.
44565         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
44566         Set HAVE_FTRUNCATE.
44567         * modules/ftruncate (Depends-on): Add unistd.
44568         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
44569
44570         * lib/fchdir.c: Include <unistd.h> first.
44571         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
44572         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
44573         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
44574         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
44575         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
44576
44577         * lib/dup2.c: Include <unistd.h> first.
44578         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
44579         HAVE_DUP2.
44580         * modules/dup2 (Depends-on): Add unistd.
44581         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
44582
44583         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
44584         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
44585         REPLACE_CHOWN. Don't define chown as a macro here.
44586         * modules/chown (Depends-on): Add unistd.
44587         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
44588
44589         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
44590         Add definition for GL_LINK_WARNING.
44591         (chown, dup2): New declarations.
44592         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
44593         link warning.
44594         (ftruncate): New declaration.
44595         (getcwd): New declaration, taken from old getcwd.h.
44596         (getlogin_r): New declaration, taken from old getlogin_r.h.
44597         (readlink): New declaration.
44598         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
44599         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
44600         (gl_PREREQ_UNISTD): Remove macro.
44601         (gl_UNISTD_MODULE_INDICATOR): New macro.
44602         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
44603         many new variables. Don't set UNISTD_H.
44604         * modules/unistd (Description): Change.
44605         (Depends-on): Add link-warning.
44606         (configure.ac): Update.
44607         (Makefile.am): Create unistd.h always. Substitute many new variables
44608         into it.
44609
44610 2007-02-18  Bruno Haible  <bruno@clisp.org>
44611
44612         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
44613         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
44614         HAVE_GETSUBOPT.
44615         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
44616         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
44617         * lib/getsubopt.h: Remove file.
44618         * modules/getsubopt (Files): Remove lib/getsubopt.h.
44619         (Depends-on): Add stdlib.
44620         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
44621         (Includes): Use <stdlib.h> instead of getsubopt.h.
44622         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
44623         Set HAVE_GETSUBOPT.
44624         * lib/getsubopt.c: Don't include getsubopt.h.
44625
44626 2007-02-18  Bruno Haible  <bruno@clisp.org>
44627
44628         * modules/fchdir (Depends-on): Add dup2.
44629
44630 2007-02-18  Bruno Haible  <bruno@clisp.org>
44631
44632         * lib/stdlib_.h: Handle glibc's special invocation convention
44633         specially.
44634
44635 2007-02-18  Bruno Haible  <bruno@clisp.org>
44636
44637         * modules/stdlib-tests: New file.
44638         * tests/test-stdlib.c: New file.
44639
44640         * modules/mkstemp (Files): Remove lib/mkstemp.h.
44641         (Depends-on): Add stdlib.
44642         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
44643         (Includes): Use <stdlib.h> instead of mkstemp.h.
44644         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
44645         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
44646         * lib/mkstemp.c: Don't include mkstemp.h.
44647         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
44648         * lib/stdlib--.h: Don't include mkstemp.h.
44649
44650         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
44651         (Depends-on): Add stdlib.
44652         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
44653         (Includes): Use <stdlib.h> instead of mkdtemp.h.
44654         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
44655         HAVE_MKDTEMP.
44656         * lib/mkdtemp.c: Don't include mkdtemp.h.
44657         * lib/clean-temp.c: Don't include mkdtemp.h.
44658
44659         * modules/exit (Files): Remove lib/exit.h.
44660         (Depends-on): Add stdlib.
44661         (Makefile.am): Remove lib_SOURCES.
44662         (Include): Use <stdlib.h> instead of exit.h.
44663         * lib/argmatch.c: Don't include exit.h.
44664         * lib/execute.c: Likewise.
44665         * lib/pagealign_alloc.c: Likewise.
44666         * lib/pipe.c: Likewise.
44667         * lib/wait-process.c: Likewise.
44668         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
44669         * lib/exitfail.c: Likewise.
44670         * lib/savewd.c: Likewise.
44671         * lib/xsetenv.c: Likewise.
44672
44673         * modules/stdlib: New file.
44674         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
44675         and extra comments about mkstemp().
44676         * lib/exit.h: Remove file.
44677         * lib/mkdtemp.h: Remove file.
44678         * lib/mkstemp.h: Remove file.
44679         * m4/stdlib_h.m4: New file.
44680         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
44681
44682 2007-02-18  Bruno Haible  <bruno@clisp.org>
44683
44684         * modules/math-tests: New file.
44685         * tests/test-math.c: New file.
44686
44687         * modules/math: New file.
44688         * modules/mathl (Files): Remove lib/mathl.h.
44689         (Depends-on): Add math.
44690         (Makefile.am): Don't mention mathl.h.
44691         (Include): Use <math.h> instead of mathl.h.
44692         * lib/math_.h: New file.
44693         * lib/mathl.h: Remove file.
44694         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
44695         mathl.h.
44696         * lib/asinl.c: Likewise.
44697         * lib/atanl.c: Likewise.
44698         * lib/ceill.c: Likewise.
44699         * lib/cosl.c: Likewise.
44700         * lib/expl.c: Likewise.
44701         * lib/floorl.c: Likewise.
44702         * lib/frexpl.c: Likewise.
44703         * lib/ldexpl.c: Likewise.
44704         * lib/logl.c: Likewise.
44705         * lib/sincosl.c: Likewise.
44706         * lib/sinl.c: Likewise.
44707         * lib/sqrtl.c: Likewise.
44708         * lib/tanl.c: Likewise.
44709         * lib/trigl.c: Likewise.
44710         * m4/math_h.m4: New file.
44711         * MODULES.html.sh (Mathematics): Add math.
44712
44713 2007-02-17  Bruno Haible  <bruno@clisp.org>
44714
44715         * modules/wctype-tests: New file.
44716         * tests/test-wctype.c: New file.
44717
44718         * modules/wchar-tests: New file.
44719         * tests/test-wchar.c: New file.
44720
44721         * modules/unistd-tests: New file.
44722         * tests/test-unistd.c: New file.
44723
44724         * modules/time-tests: New file.
44725         * tests/test-time.c: New file.
44726
44727         * modules/sysexits-tests: New file.
44728         * tests/test-sysexits.c: New file.
44729
44730         * modules/sys_time-tests: New file.
44731         * tests/test-sys_time.c: New file.
44732
44733         * modules/sys_stat-tests: New file.
44734         * tests/test-sys_stat.c: New file.
44735
44736         * modules/sys_socket-tests: New file.
44737         * tests/test-sys_socket.c: New file.
44738
44739         * modules/sys_select-tests: New file.
44740         * tests/test-sys_select.c: New file.
44741
44742         * modules/string-tests: New file.
44743         * tests/test-string.c: New file.
44744
44745         * modules/stdbool-tests: New file.
44746         * tests/test-stdbool.c: New file.
44747
44748         * modules/netinet_in-tests: New file.
44749         * tests/test-netinet_in.c: New file.
44750
44751         * modules/inttypes-tests: New file.
44752         * tests/test-inttypes.c: New file.
44753
44754         * modules/fcntl-tests: New file.
44755         * tests/test-fcntl.c: New file.
44756
44757         * modules/byteswap-tests: New file.
44758         * tests/test-byteswap.c: New file.
44759
44760         * modules/arpa_inet-tests: New file.
44761         * tests/test-arpa_inet.c: New file.
44762
44763 2007-02-17  Bruno Haible  <bruno@clisp.org>
44764
44765         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
44766         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
44767         if the corresponding module is not enabled. Emit link warnings if
44768         the function is used nevertheless.
44769         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
44770         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
44771         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
44772         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
44773         * modules/inttypes (Depends-on): Add link-warning.
44774         (Makefile.am): Copy the contents of build-aux/link-warning.h into
44775         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
44776         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
44777         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
44778         * modules/imaxdiv (configure.ac): Likewise.
44779         * modules/strtoimax (configure.ac): Likewise.
44780         * modules/strtoumax (configure.ac): Likewise.
44781
44782 2007-02-17  Bruno Haible  <bruno@clisp.org>
44783
44784         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
44785         gl_STRING_MODULE_INDICATOR_DEFAULTS.
44786         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
44787         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
44788
44789 2007-02-17  Bruno Haible  <bruno@clisp.org>
44790
44791         * modules/link-warning: New file.
44792         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
44793         * lib/string_.h (GL_LINK_WARNING): Remove definition.
44794         * modules/string (Depends-on): Add link-warning.
44795         (Makefile.am): Copy the contents of build-aux/link-warning.h into
44796         string.h.
44797         * MODULES.html.sh (Support for building libraries and executables): Add
44798         link-warning.
44799
44800 2007-02-17  Bruno Haible  <bruno@clisp.org>
44801
44802         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
44803         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
44804         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
44805         long lines.
44806
44807 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
44808             Bruno Haible  <bruno@clisp.org>
44809
44810         * modules/tmpfile: New file.
44811         * lib/tmpfile.c: New file.
44812         * m4/tmpfile.m4: New file.
44813         * MODULES.html.sh (func_all_modules): New section "Input/output".
44814
44815 2007-02-15  Bruno Haible  <bruno@clisp.org>
44816
44817         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
44818         (supports_delete_on_close): New function.
44819         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
44820
44821 2007-02-14  Bruno Haible  <bruno@clisp.org>
44822
44823         * modules/mbspcasecmp-tests: New file.
44824         * tests/test-mbspcasecmp.sh: New file.
44825         * tests/test-mbspcasecmp.c: New file.
44826
44827         New module mbspcasecmp.
44828         * modules/mbspcasecmp: New file.
44829         * lib/mbspcasecmp.c: New file.
44830         * lib/string_.h (strncasecmp): Change warning message.
44831         (mbspcasecmp): New declaration.
44832         * m4/mbspcasecmp.m4: New file.
44833         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
44834         GNULIB_MBSPCASECMP.
44835         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
44836         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
44837
44838 2007-02-14  Bruno Haible  <bruno@clisp.org>
44839
44840         * modules/mbsncasecmp-tests: New file.
44841         * tests/test-mbsncasecmp.sh: New file.
44842         * tests/test-mbsncasecmp.c: New file.
44843
44844         New module mbsncasecmp.
44845         * modules/mbsncasecmp: New file.
44846         * lib/mbsncasecmp.c: New file.
44847         * lib/string_.h (mbsncasecmp): New declaration.
44848         * m4/mbsncasecmp.m4: New file.
44849         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
44850         GNULIB_MBSNCASECMP.
44851         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
44852         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
44853
44854 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
44855
44856         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
44857         Verify that it doesn't overlap with our flags.
44858         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
44859         do not have the desired effect in multibyte locales; instead, use
44860         mbscasecmp.
44861         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
44862         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
44863         we don't require GNU fnmatch ourselves (if our users require it, they
44864         should do so explicitly).
44865
44866         Fix regex code so it doesn't rely on strcasecmp.
44867         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
44868         Otherwise, include gnulib's langinfo.h.
44869         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
44870         undesirable behavior in non-C locales.  Instead, rely on localecharset.
44871         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
44872         * modules/regex (FILES): Remove m4/codeset.m4.
44873         (Depends-on): Add localcharset.  Remove strcase.
44874
44875 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44876
44877         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
44878         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
44879
44880 2007-02-13  Bruno Haible  <bruno@clisp.org>
44881
44882         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
44883         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
44884
44885 2007-02-12  Bruno Haible  <bruno@clisp.org>
44886
44887         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
44888         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
44889         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
44890         time warning rather than a link error.
44891
44892 2007-02-12  Bruno Haible  <bruno@clisp.org>
44893
44894         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
44895         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
44896         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
44897
44898 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
44899
44900         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
44901         args, not 2.
44902
44903 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
44904
44905         New module 'time', so that apps can include <time.h> as per
44906         POSIX and GNU instead of separate include files like time_r.h
44907         and timegm.h.  This implementation tries out a simpler approach
44908         for replacing decls in standard include files (as compared to
44909         the string module), somewhat as an experiment.
44910
44911         * config/srclist.txt: Comment out mktime.c for now.
44912         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
44913         since it doesn't apply any more.  Use generic wording instead.
44914         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
44915         'time'.
44916         * lib/time_.h, m4/time_h.m4, modules/time: New files.
44917         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
44918         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
44919         Don't include <sys/types.h>; no longer needed since we assume C89.
44920         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
44921         * lib/strftime.c: Likewise.
44922         * lib/time_r.c: Likewise.
44923         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
44924         * lib/nanosleep.c: Include <time.h> first, to check interface.
44925         * lib/strptime.c: Likewise.
44926         * lib/time_r.c: Likewise.
44927         * lib/timegm.c: Likewise.
44928         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
44929         needed.
44930         * lib/timegm.c: Don't include timegm.h; no longer needed.
44931         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
44932         time.h now handles any problems in that area.
44933         (struct timespec, nanosleep): Remove; time.h now arranges for these.
44934         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
44935         that time.h defines struct timespec.
44936         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
44937         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
44938         handles that.
44939         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
44940         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
44941         needed.  Set REPLACE_LOCALTIME.
44942         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
44943         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
44944         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
44945         nanosleep; time_h.m4 now does that.  Don't require
44946         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
44947         module handles this now.
44948         * modules/getdate (Depends-on): Remove timespec.  Add time.
44949         * modules/nanosleep (Depends-on): Likewise.
44950         * modules/stat-time (Depends-on): Likewise.
44951         * modules/nanosleep (Include): Include time.h, not timespec.h.
44952         * modules/strptime (Files): Remove lib/strptime.h.
44953         (Depends-on): Add extensions, time.
44954         (Include): Include time.h, not strptime.h.
44955         * modules/time_r (Files): Remove lib/time_r.h.
44956         (Depends-on): Add time.
44957         (Include): Include time.h, not time_r.h.
44958         * modules/timegm: Likewise.
44959         * modules/timespec (Description): Now does timespec-related decls
44960         of our own, instead of struct timespec itself.
44961         (Depends-on): Add time; remove extensions.
44962         (Maintainer): Add self.
44963         * modules/utimecmp (Depends-on): Add time; remove timespec.
44964         * modules/utimens (Depends-on): Likewise.
44965         * modules/xnanosleep (Depends-on): Likewise.
44966
44967 2007-02-11  Bruno Haible  <bruno@clisp.org>
44968
44969         * lib/c-strstr.c: Include allocsa.h.
44970         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
44971         * lib/c-strcasestr.c: Include allocsa.h.
44972         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
44973         * lib/strcasestr.c: Include allocsa.h.
44974         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
44975         * lib/mbsstr.c: Include allocsa.h.
44976         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
44977         allocsa/freesa instead of malloc/free.
44978         * lib/mbscasestr.c: Include allocsa.h.
44979         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
44980         allocsa/freesa instead of malloc/free.
44981         * modules/c-strstr (Depends-on): Add allocsa.
44982         * modules/c-strcasestr (Depends-on): Likewise.
44983         * modules/strcasestr (Depends-on): Likewise.
44984         * modules/mbsstr (Depends-on): Likewise.
44985         * modules/mbscasestr (Depends-on): Likewise.
44986
44987 2007-02-11  Bruno Haible  <bruno@clisp.org>
44988
44989         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
44990
44991         * modules/mbsspn-tests: New file.
44992         * tests/test-mbsspn.sh: New file.
44993         * tests/test-mbsspn.c: New file.
44994
44995 2007-02-11  Bruno Haible  <bruno@clisp.org>
44996
44997         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
44998
44999         * modules/mbspbrk-tests: New file.
45000         * tests/test-mbspbrk.sh: New file.
45001         * tests/test-mbspbrk.c: New file.
45002
45003 2007-02-11  Bruno Haible  <bruno@clisp.org>
45004
45005         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
45006         unneeded cast.
45007
45008         * modules/mbscspn-tests: New file.
45009         * tests/test-mbscspn.sh: New file.
45010         * tests/test-mbscspn.c: New file.
45011
45012 2007-02-11  Bruno Haible  <bruno@clisp.org>
45013
45014         * modules/mbscasecmp-tests: New file.
45015         * tests/test-mbscasecmp.sh: New file.
45016         * tests/test-mbscasecmp.c: New file.
45017
45018 2007-02-11  Bruno Haible  <bruno@clisp.org>
45019
45020         Ensure O(n) worst-case complexity of mbscasestr.
45021         * lib/mbscasestr.c: Include stdbool.h.
45022         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
45023         functions.
45024         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
45025         the bookkeeping indicates that it's worth it.
45026         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
45027
45028         * modules/mbscasestr-tests: New file.
45029         * tests/test-mbscasestr1.c: New file.
45030         * tests/test-mbscasestr2.sh: New file.
45031         * tests/test-mbscasestr2.c: New file.
45032         * tests/test-mbscasestr3.sh: New file.
45033         * tests/test-mbscasestr3.c: New file.
45034         * tests/test-mbscasestr4.sh: New file.
45035         * tests/test-mbscasestr4.c: New file.
45036         * m4/locale-tr.m4: New file.
45037
45038 2007-02-11  Bruno Haible  <bruno@clisp.org>
45039
45040         Ensure O(n) worst-case complexity of mbsstr.
45041         * lib/mbsstr.c: Include stdbool.h.
45042         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
45043         functions.
45044         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
45045         bookkeeping indicates that it's worth it.
45046         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
45047
45048         * modules/mbsstr-tests: New file.
45049         * tests/test-mbsstr1.c: New file.
45050         * tests/test-mbsstr2.sh: New file.
45051         * tests/test-mbsstr2.c: New file.
45052         * tests/test-mbsstr3.sh: New file.
45053         * tests/test-mbsstr3.c: New file.
45054         * m4/locale-fr.m4: New file.
45055
45056 2007-02-11  Bruno Haible  <bruno@clisp.org>
45057
45058         * lib/mbsrchr.c (mbsrchr): Fix bug.
45059
45060         * modules/mbsrchr-tests: New file.
45061         * tests/test-mbsrchr.sh: New file.
45062         * tests/test-mbsrchr.c: New file.
45063
45064 2007-02-11  Bruno Haible  <bruno@clisp.org>
45065
45066         * lib/mbschr.c (mbschr): Fix bug.
45067
45068         * modules/mbschr-tests: New file.
45069         * tests/test-mbschr.sh: New file.
45070         * tests/test-mbschr.c: New file.
45071         * m4/locale-zh.m4: New file.
45072
45073 2007-02-11  Bruno Haible  <bruno@clisp.org>
45074
45075         Support for copying multibyte string iterators.
45076         * lib/mbiter.h: Include <string.h>.
45077         (mbiter_multi_copy): New function.
45078         (mbi_copy): New macro.
45079         * lib/mbuiter.h: Include <string.h>.
45080         (mbuiter_multi_copy): New function.
45081         (mbui_copy): New macro.
45082
45083 2007-02-11  Bruno Haible  <bruno@clisp.org>
45084
45085         New module mbslen.
45086         * modules/mbslen: New file.
45087         * lib/mbslen.c: New file.
45088         * lib/string_.h (mbslen): New declaration.
45089         * m4/mbslen.m4: New file.
45090         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
45091         GNULIB_MBSLEN.
45092         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
45093         * MODULES.html.sh (Internationalization functions): Add mbslen.
45094
45095 2007-02-11  Bruno Haible  <bruno@clisp.org>
45096
45097         Ensure O(n) worst-case complexity of strcasestr substitute.
45098         * lib/strcasestr.c: Include stdbool.h.
45099         (knuth_morris_pratt): New function.
45100         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
45101         bookkeeping indicates that it's worth it.
45102         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
45103
45104         * modules/strcasestr-tests: New file.
45105         * tests/test-strcasestr.c: New file.
45106
45107 2007-02-11  Bruno Haible  <bruno@clisp.org>
45108
45109         Ensure O(n) worst-case complexity of c_strcasestr.
45110         * lib/c-strcasestr.c: Include stdbool.h, string.h.
45111         (knuth_morris_pratt): New function.
45112         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
45113         the bookkeeping indicates that it's worth it.
45114         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
45115
45116         * modules/c-strcasestr-tests: New file.
45117         * tests/test-c-strcasestr.c: New file.
45118
45119 2007-02-11  Bruno Haible  <bruno@clisp.org>
45120
45121         Ensure O(n) worst-case complexity of c_strstr.
45122         * lib/c-strstr.c: Include stdbool.h, string.h.
45123         (knuth_morris_pratt): New function.
45124         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
45125         bookkeeping indicates that it's worth it.
45126         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
45127
45128         * lib/c-strstr.c: Complete rewrite for maintainability.
45129
45130         * modules/c-strstr-tests: New file.
45131         * tests/test-c-strstr.c: New file.
45132
45133 2007-02-11  Bruno Haible  <bruno@clisp.org>
45134
45135         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
45136         5.2.1 and earlier, whereby \055 was treated just like the range
45137         delimiter '-'.
45138         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
45139
45140 2007-02-08  Bruno Haible  <bruno@clisp.org>
45141
45142         * modules/regex (Depends-on): Add stdbool.
45143         Reported by Dalibor Topic <robilad@kaffe.org>.
45144
45145 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
45146
45147         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
45148         Prefer returning from main to exiting from it.
45149         Remove unnecessary parens after sizeof.
45150
45151 2007-02-05  Bruno Haible  <bruno@clisp.org>
45152
45153         New module mbssep.
45154         * modules/mbssep: New file.
45155         * lib/mbssep.c: New file.
45156         * lib/string_.h (strsep): Add a conditional link warning.
45157         (mbssep): New declaration.
45158         * m4/mbssep.m4: New file.
45159         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
45160         GNULIB_MBSSEP.
45161         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
45162         * MODULES.html.sh (Internationalization functions): Add mbssep.
45163
45164 2007-02-05  Bruno Haible  <bruno@clisp.org>
45165
45166         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
45167         Optimize search in case of 1 delimiter.
45168
45169 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
45170
45171         * lib/acl.h: Include sys/types.h before sys/acl.h.
45172
45173 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
45174
45175         Merge upstream fix for glibc bugzilla #3957:
45176
45177         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
45178
45179         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
45180         bit for RE_HAT_LISTS_NOT_NEWLINE.
45181         (build_charclass_op): Remove bogus comment.
45182
45183 2007-02-05  Simon Josefsson  <simon@josefsson.org>
45184
45185         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
45186
45187 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
45188
45189         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
45190         * lib/memmem.c [!defined _LIBC]: Include config.h.
45191
45192 2007-02-04  Bruno Haible  <bruno@clisp.org>
45193
45194         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
45195         warning message.
45196
45197 2007-02-04  Bruno Haible  <bruno@clisp.org>
45198
45199         New module mbstok_r.
45200         * modules/mbstok_r: New file.
45201         * lib/mbstok_r.c: New file.
45202         * lib/string_.h (strtok_r): Change argument names to match the
45203         comments. Add a conditional link warning.
45204         (mbstok_r): New declaration.
45205         * m4/mbstok_r.m4: New file.
45206         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
45207         GNULIB_MBSTOK_R.
45208         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
45209         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
45210
45211 2007-02-04  Bruno Haible  <bruno@clisp.org>
45212
45213         New module mbsspn.
45214         * modules/mbsspn: New file.
45215         * lib/mbsspn.c: New file.
45216         * lib/string_.h (strspn): Add a conditional link warning.
45217         (mbsspn): New declaration.
45218         * m4/mbsspn.m4: New file.
45219         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
45220         GNULIB_MBSSPN.
45221         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
45222         * MODULES.html.sh (Internationalization functions): Add mbsspn.
45223
45224 2007-02-04  Bruno Haible  <bruno@clisp.org>
45225
45226         New module mbspbrk.
45227         * modules/mbspbrk: New file.
45228         * lib/mbspbrk.c: New file.
45229         * lib/string_.h (strpbrk): Add a conditional link warning.
45230         (mbspbrk): New declaration.
45231         * m4/mbspbrk.m4: New file.
45232         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
45233         GNULIB_MBSPBRK.
45234         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
45235         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
45236
45237 2007-02-04  Bruno Haible  <bruno@clisp.org>
45238
45239         New module mbscspn.
45240         * modules/mbscspn: New file.
45241         * lib/mbscspn.c: New file.
45242         * lib/string_.h (strcspn): Add a conditional link warning.
45243         (mbscspn): New declaration.
45244         * m4/mbscspn.m4: New file.
45245         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
45246         GNULIB_MBSCSPN.
45247         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
45248         * MODULES.html.sh (Internationalization functions): Add mbscspn.
45249
45250 2007-02-04  Bruno Haible  <bruno@clisp.org>
45251
45252         New module mbscasestr, reduced goal of strcasestr.
45253         * modules/mbscasestr: New file.
45254         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
45255         (mbscasestr): Renamed from strcasestr.
45256         * lib/strcasestr.c: Don't include mbuiter.h.
45257         (strcasestr): Remove support for multibyte locales.
45258         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
45259         Change the conditional link warning.
45260         (mbscasestr): New declaration.
45261         * m4/mbscasestr.m4: New file.
45262         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
45263         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
45264         REPLACE_STRCASESTR.
45265         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
45266         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
45267         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
45268         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
45269         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
45270         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
45271         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
45272         (Depends-on): Remove mbuiter.
45273         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
45274
45275 2007-02-04  Bruno Haible  <bruno@clisp.org>
45276
45277         Simplify handling of strncasecmp.
45278         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
45279         the conditional link warning.
45280         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
45281         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
45282         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
45283         * modules/strcase (configure.ac): Don't invoke
45284         gl_STRING_MODULE_INDICATOR.
45285         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
45286
45287 2007-02-04  Bruno Haible  <bruno@clisp.org>
45288
45289         New module mbscasecmp, reduced goal of strcasecmp.
45290         * modules/mbscasecmp: New file.
45291         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
45292         (mbscasecmp): Renamed from strcasecmp.
45293         * lib/strcasecmp.c: Don't include mbuiter.h.
45294         (strcasecmp): Remove support for multibyte locales.
45295         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
45296         Change the conditional link warning.
45297         (mbscasecmp): New declaration.
45298         * m4/mbscasecmp.m4: New file.
45299         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
45300         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
45301         REPLACE_STRCASECMP.
45302         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
45303         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
45304         GNULIB_MBSCASECMP.
45305         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
45306         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
45307         * modules/strcase (Files): Remove m4/mbrtowc.m4.
45308         (Depends-on): Remove mbuiter.
45309         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
45310
45311 2007-02-04  Bruno Haible  <bruno@clisp.org>
45312
45313         New module mbsstr. Remove module strstr.
45314         * modules/mbsstr: New file.
45315         * modules/strstr: Remove file.
45316         * lib/mbsstr.c: Renamed from lib/strstr.c.
45317         (mbsstr): Renamed from strstr.
45318         * lib/string_.h (strstr): Remove declaration. Change the conditional
45319         link warning.
45320         (mbsstr): New declaration.
45321         * m4/mbsstr.m4: New file.
45322         * m4/strstr.m4: Remove file.
45323         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
45324         REPLACE_STRSTR.
45325         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
45326         Don't initialize GNULIB_STRSTR.
45327         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
45328         substitute GNULIB_STRSTR and REPLACE_STRSTR.
45329         * MODULES.html.sh (Internationalization functions): Add mbsstr.
45330         (Support for systems lacking ANSI C 89): Remove strstr.
45331
45332 2007-02-04  Bruno Haible  <bruno@clisp.org>
45333
45334         New module mbsrchr.
45335         * modules/mbsrchr: New file.
45336         * lib/mbsrchr.c: New file.
45337         * lib/string_.h (strrchr): Add a conditional link warning.
45338         (mbsrchr): New declaration.
45339         * m4/mbsrchr.m4: New file.
45340         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
45341         GNULIB_MBSRCHR.
45342         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
45343         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
45344
45345 2007-02-04  Bruno Haible  <bruno@clisp.org>
45346
45347         New module mbschr.
45348         * modules/mbschr: New file.
45349         * lib/mbschr.c: New file.
45350         * lib/string_.h (strchr): Add a conditional link warning.
45351         (mbschr): New declaration.
45352         * m4/mbschr.m4: New file.
45353         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
45354         GNULIB_MBSCHR.
45355         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
45356         * MODULES.html.sh (Internationalization functions): Add mbschr.
45357
45358 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
45359
45360         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
45361
45362         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
45363
45364 2007-02-04  Bruno Haible  <bruno@clisp.org>
45365
45366         New module description section 'configure.ac-early'.
45367         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
45368         (func_get_autoconf_early_snippet): New function.
45369         (func_import, func_create_testdir): Use it. Remove special cases for
45370         modules 'extensions' and 'lock'.
45371         * modules/extensions (configure.ac-early): Require
45372         gl_USE_SYSTEM_EXTENSIONS.
45373         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
45374
45375 2007-02-04  Bruno Haible  <bruno@clisp.org>
45376
45377         Make use of gcj-4.3's -fsource and -ftarget option.
45378         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
45379         and if so try the options -fsource and -ftarget.
45380         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
45381         source_version, ftarget_option, target_version arguments.
45382         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
45383         (is_envjavac_oldgcj_14_14_usable): Renamed from
45384         is_envjavac_gcj_14_14_usable.
45385         (is_envjavac_oldgcj_14_13_usable): Renamed from
45386         is_envjavac_gcj_14_13_usable.
45387         (is_gcj_present): Update.
45388         (is_gcj_43, is_gcj43_usable): New functions.
45389         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
45390         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
45391         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
45392         try the options -fsource and -ftarget.
45393
45394 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
45395
45396         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
45397         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
45398         larger value.
45399
45400 2007-02-03  Jim Meyering  <jim@meyering.net>
45401
45402         Give tools a better chance to allocate space for very large buffers.
45403         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
45404
45405         Make pwd and readlink work also when run with an unreadable parent dir
45406         on systems with openat support.
45407         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
45408         provided getcwd function, even when we have openat support.
45409         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
45410
45411 2007-02-02  Bruno Haible  <bruno@clisp.org>
45412
45413         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
45414         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
45415         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
45416         portability problems if one of these functions is only used on specific
45417         platforms.
45418         Reported by Paul Eggert.
45419
45420 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
45421
45422         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
45423         is causing more trouble than it's curing.
45424         * lib/regex_internal.h (__mempcpy): Remove.
45425         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
45426         (and make the code a tad smaller to boot).
45427         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
45428
45429 2007-02-02  Jim Meyering  <jim@meyering.net>
45430
45431         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
45432         section, not in the Makefile.am: one.
45433
45434 2007-02-02  Eric Blake  <ebb9@byu.net>
45435
45436         * lib/strchrnul.c: Always include config.h first.
45437
45438         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
45439         gnulib strstr is not necessary here.
45440
45441 2007-02-02  Simon Josefsson  <simon@josefsson.org>
45442
45443         * m4/socklen.m4: Fix typo.
45444
45445 2007-02-02  Eric Blake  <ebb9@byu.net>
45446
45447         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
45448         * modules/netinet_in (Makefile.am): Likewise.
45449
45450 2007-02-01  Bruno Haible  <bruno@clisp.org>
45451
45452         * lib/string_.h (GL_LINK_WARNING): New macro.
45453         (strcasecmp, strstr, strcasestr): If provided by the system,
45454         conditionally define as a macro that leads to a warning instead of to
45455         an error.
45456         (strncasecmp): Conditionally define as a macro that leads to a warning.
45457
45458 2007-02-01  Karl Berry  <karl@gnu.org>
45459
45460         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
45461
45462 2007-02-01  Bruno Haible  <bruno@clisp.org>
45463
45464         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
45465         renamings.
45466
45467 2007-02-01  Eric Blake  <ebb9@byu.net>
45468
45469         * modules/regex (Depends-on): Revert dependence on mempcpy.
45470         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
45471         module's definition of mempcpy.
45472         Reported by Paul Eggert.
45473
45474 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
45475
45476         * lib/string_.h: If the gnulib module XYZ is not present, undefine
45477         the symbol XYZ before redefining it.  This fixes a problem with
45478         programs that don't use XYZ, when compiled on systems that define
45479         XYZ to something else.
45480
45481 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
45482
45483         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
45484         occurs when "mkdir -m foo" creates a setgid directory that is (1)
45485         writeable to group or other and (2) is intended to have a special
45486         mode bit that is set or cleared.  In such a case, the directory
45487         should be neither group- nor other-writeable until the special
45488         mode bits are right.
45489
45490 2007-01-31  Eric Blake  <ebb9@byu.net>
45491
45492         * modules/mountlist (Depends-on): Add strstr.
45493
45494         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
45495         bug.
45496         * modules/string (Makefile.am): Remove redundant replacement.
45497         * modules/regex (Depends-on): Add mempcpy.
45498
45499 2007-01-31  Bruno Haible  <bruno@clisp.org>
45500
45501         New module description field 'Link'.
45502         * gnulib-tool (func_usage): Document --extract-link-directive.
45503         (sed_extract_prog): Recognize 'Link' directive.
45504         (func_get_link_directive): New function.
45505         (func_import): Show summary of link directives.
45506         Handle --extract-link-directive option.
45507         * modules/acl (Link): New section.
45508         * modules/clock-time (Link): New section.
45509         * modules/euidaccess (Link): New section.
45510         * modules/gettext (Link): New section.
45511         * modules/iconv (Link): New section.
45512         * modules/lock (Link): New section.
45513         * modules/nanosleep (Link): New section.
45514         * modules/readline (Link): New section.
45515
45516 2007-01-27  Bruno Haible  <bruno@clisp.org>
45517
45518         Enforce the use of gnulib modules for unportable <string.h> functions.
45519         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
45520         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
45521         (gl_HEADER_STRING_H_BODY): Require it.
45522         * lib/string_.h: If the gnulib module XYZ is not present, redefine
45523         the symbol XYZ to one that gives a link error.
45524         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
45525         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
45526         * modules/mempcpy (configure.ac): Likewise.
45527         * modules/memrchr (configure.ac): Likewise.
45528         * modules/stpcpy (configure.ac): Likewise.
45529         * modules/stpncpy (configure.ac): Likewise.
45530         * modules/strcase (configure.ac): Likewise.
45531         * modules/strcasestr (configure.ac): Likewise.
45532         * modules/strchrnul (configure.ac): Likewise.
45533         * modules/strdup (configure.ac): Likewise.
45534         * modules/strndup (configure.ac): Likewise.
45535         * modules/strnlen (configure.ac): Likewise.
45536         * modules/strpbrk (configure.ac): Likewise.
45537         * modules/strsep (configure.ac): Likewise.
45538         * modules/strstr (configure.ac): Likewise.
45539         * modules/strtok_r (configure.ac): Likewise.
45540
45541 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
45542
45543         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
45544
45545 2007-01-30  Jim Meyering  <jim@meyering.net>
45546
45547         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
45548
45549 2007-01-29  Bruno Haible  <bruno@clisp.org>
45550
45551         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
45552         * lib/execute.c: Likewise.
45553         * lib/pipe.c: Likewise.
45554         * lib/printf-args.h: Likewise.
45555         * lib/printf-args.c: Likewise.
45556         * lib/printf-parse.c: Likewise.
45557         * lib/vasnprintf.c: Likewise.
45558
45559 2007-01-29  Eric Blake  <ebb9@byu.net>
45560
45561         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
45562         declaration.
45563
45564 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
45565
45566         * lib/strptime.h (strptime): Use 'restrict' for args where
45567         POSIX requires this.
45568         * lib/strptime.c (strptime): Likewise.
45569         Change license notice from LGPL to GPL, since gnulib-tool will
45570         change this as needed.
45571         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
45572         defined.
45573         Include "strptime.h" first, to check interface.
45574         Do not #undef _LIBC and _NL_CURRENT.
45575         Do not include <stdlib.h>; no longer needed.
45576         Include "time_r.h" and declare ptime_locale_status
45577         only if _LIBC is not defined.
45578         (__P): Remove unused macro.
45579         (match_string): Bring back glibc version, but use it only if _LIBC
45580         is defined.
45581         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
45582         Remove unnecessary assertion and abort() call.
45583         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
45584         * m4/strptime.m4: Fix serial number comment.
45585         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
45586         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
45587         (Depends-on): Add time_r.
45588
45589 2007-01-29  Bruno Haible  <bruno@clisp.org>
45590
45591         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
45592         strptime.
45593         * modules/strptime (Depends-on): Add stdbool.
45594         * lib/strptime.h: Include <time.h> always. Add comments.
45595
45596 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
45597
45598         * modules/strptime: New file.
45599         * lib/strptime.h: New file.
45600         * lib/strptime.c: New file.
45601         * m4/strptime.m4: New file.
45602
45603 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
45604
45605         * MODULES.html.sh: New module mpsort.
45606         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
45607
45608         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
45609         a circularity problem with HP-UX ia64 reported by Bob Proulx in
45610         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
45611         All uses changed.
45612         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
45613         All uses changed.
45614         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
45615         to _Restrict_.
45616         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
45617         the parameter matches the prototype.
45618
45619 2007-01-28  Jim Meyering  <jim@meyering.net>
45620
45621         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
45622         sys/time.h here, reverting that part of the previous patch:
45623         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
45624
45625 2007-01-28  Bruno Haible  <bruno@clisp.org>
45626
45627         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
45628         value of $(SYS_TIME_H).
45629         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
45630         remove it conditionally, too. [added by Jim Meyering]
45631         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
45632         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
45633         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
45634         GETTIMEOFDAY_REPLACEMENT to 1.
45635
45636 2007-01-28  Bruno Haible  <bruno@clisp.org>
45637
45638         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
45639         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
45640         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
45641         Set UNISTD_H instead of UNISTD_H2.
45642         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
45643
45644 2007-01-28  Bruno Haible  <bruno@clisp.org>
45645
45646         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
45647         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
45648
45649 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45650
45651         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
45652         (func_create_testdir): Ensure C locale for `grep' and `tr'
45653         character ranges.
45654         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
45655         ACLOCAL_AMFLAGS parsing state machine.
45656
45657 2007-01-27  Bruno Haible  <bruno@clisp.org>
45658
45659         * modules/unistr/base: Update.
45660
45661 2007-01-27  Bruno Haible  <bruno@clisp.org>
45662
45663         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
45664         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
45665         * modules/unistr/u32-mbtouc-unsafe: Renamed from
45666         modules/unistr/u32-mbtouc.
45667         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
45668         * lib/unistr.h: Update.
45669         * lib/linebreak.c: Update.
45670         * modules/unistr/u32-mbtouc: Renamed from
45671         modules/unistr/u32-mbtouc-safe.
45672         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
45673         * lib/unistr.h: Update.
45674         * lib/unistr/u32-to-u8.c: Update.
45675         * lib/unistr/u32-to-u16.c: Update.
45676
45677 2007-01-27  Bruno Haible  <bruno@clisp.org>
45678
45679         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
45680         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
45681         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
45682         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
45683         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
45684         * modules/unistr/u16-mbtouc-unsafe: Renamed from
45685         modules/unistr/u16-mbtouc.
45686         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
45687         * lib/unistr.h: Update.
45688         * lib/linebreak.c: Update.
45689         * modules/linebreak: Update.
45690         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
45691         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
45692         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
45693         * modules/unistr/u16-mbtouc: Renamed from
45694         modules/unistr/u16-mbtouc-safe.
45695         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
45696         * lib/unistr.h: Update.
45697         * lib/unistr/u16-to-u8.c: Update.
45698         * modules/unistr/u16-to-u8: Update.
45699         * lib/unistr/u16-to-u32.c: Update.
45700         * modules/unistr/u16-to-u32: Update.
45701
45702 2007-01-27  Bruno Haible  <bruno@clisp.org>
45703
45704         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
45705         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
45706         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
45707         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
45708         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
45709         * modules/unistr/u8-mbtouc-unsafe: Renamed from
45710         modules/unistr/u8-mbtouc.
45711         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
45712         * lib/unistr.h: Update.
45713         * lib/striconveh.c: Update.
45714         * modules/striconveh: Update.
45715         * lib/linebreak.c: Update.
45716         * modules/linebreak: Update.
45717         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
45718         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
45719         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
45720         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
45721         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
45722         * lib/unistr.h: Update.
45723         * lib/striconveh.c: Update.
45724         * modules/striconveh: Update.
45725         * lib/unistr/u8-to-u16.c: Update.
45726         * modules/unistr/u8-to-u16: Update.
45727         * lib/unistr/u8-to-u32.c: Update.
45728         * modules/unistr/u8-to-u32: Update.
45729
45730 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45731
45732         Sync from Libtool.
45733         * lib/argz.c: Do not include strings.h nor memory.h, include
45734         string.h unconditionally.  Patch by Simon Josefsson.
45735
45736 2007-01-27  Bruno Haible  <bruno@clisp.org>
45737
45738         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
45739         from gl_HEADER_STRING_H_BODY.
45740         (gl_HEADER_STRING_H_BODY): Require it.
45741         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
45742         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
45743         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
45744         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
45745         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
45746         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
45747         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
45748         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
45749         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
45750         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
45751         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
45752         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
45753         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
45754         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
45755         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
45756
45757 2007-01-27  Bruno Haible  <bruno@clisp.org>
45758
45759         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
45760         check_PROGRAMS into noinst_PROGRAMS.
45761         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
45762         check_PROGRAMS in this case.
45763         (func_import): Set for_test to false.
45764         (func_create_testdir): Set for_test to true.
45765
45766 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
45767             Bruno Haible  <bruno@clisp.org>
45768
45769         * modules/strcasestr (Files): Remove lib/strcasestr.h.
45770         (Depends-on): Add string.
45771         (Includes): Use <string.h> instead of strcasestr.h.
45772         * modules/string (Makefile.am): Also substitute the value of
45773         REPLACE_STRCASESTR.
45774         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
45775         assume strcasestr is declared in <string.h> not <strings.h>. Also
45776         set REPLACE_STRCASESTR.
45777         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
45778         REPLACE_STRCASESTR.
45779         * lib/strcasestr.h: Remove file.
45780         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
45781         * lib/string_.h (strcasestr): New declaration.
45782
45783 2007-01-27  Bruno Haible  <bruno@clisp.org>
45784
45785         * lib/string_.h: Use 'extern'.
45786
45787 2007-01-27  Jim Meyering  <jim@meyering.net>
45788
45789         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
45790         of set-but-not-used local, "q".
45791
45792         * lib/mempcpy.c: Include <config.h> before <string.h>.
45793         This fixes a compilation error on HP-UX, due to the system's
45794         "restrict"-using mempcpy prototype.
45795
45796 2007-01-26  Bruno Haible  <bruno@clisp.org>
45797
45798         Small optimization.
45799         * lib/javacomp.c: Include c-strstr.h.
45800          (is_envjavac_gcj): Use c_strstr instead of strstr.
45801         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
45802
45803 2007-01-26  Bruno Haible  <bruno@clisp.org>
45804
45805         * MODULES.html.sh (Unicode string functions): Add the new modules.
45806
45807         * modules/uniconv/u32-strconv-to-locale: New file.
45808         * lib/uniconv/u32-strconv-to-locale.c: New file.
45809
45810         * modules/uniconv/u16-strconv-to-locale: New file.
45811         * lib/uniconv/u16-strconv-to-locale.c: New file.
45812
45813         * modules/uniconv/u8-strconv-to-locale: New file.
45814         * lib/uniconv/u8-strconv-to-locale.c: New file.
45815
45816         * modules/uniconv/u32-strconv-from-locale: New file.
45817         * lib/uniconv/u32-strconv-from-locale.c: New file.
45818
45819         * modules/uniconv/u16-strconv-from-locale: New file.
45820         * lib/uniconv/u16-strconv-from-locale.c: New file.
45821
45822         * modules/uniconv/u8-strconv-from-locale: New file.
45823         * lib/uniconv/u8-strconv-from-locale.c: New file.
45824
45825         * modules/uniconv/u32-strconv-to-enc: New file.
45826         * lib/uniconv/u32-strconv-to-enc.c: New file.
45827         * modules/uniconv/u32-strconv-to-enc-tests: New file.
45828         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
45829
45830         * modules/uniconv/u16-strconv-to-enc: New file.
45831         * lib/uniconv/u16-strconv-to-enc.c: New file.
45832         * lib/uniconv/u-strconv-to-enc.h: New file.
45833         * modules/uniconv/u16-strconv-to-enc-tests: New file.
45834         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
45835
45836         * modules/uniconv/u8-strconv-to-enc: New file.
45837         * lib/uniconv/u8-strconv-to-enc.c: New file.
45838         * modules/uniconv/u8-strconv-to-enc-tests: New file.
45839         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
45840
45841         * modules/uniconv/u32-strconv-from-enc: New file.
45842         * lib/uniconv/u32-strconv-from-enc.c: New file.
45843         * modules/uniconv/u32-strconv-from-enc-tests: New file.
45844         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
45845
45846         * modules/uniconv/u16-strconv-from-enc: New file.
45847         * lib/uniconv/u16-strconv-from-enc.c: New file.
45848         * modules/uniconv/u16-strconv-from-enc-tests: New file.
45849         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
45850
45851         * modules/uniconv/u8-strconv-from-enc: New file.
45852         * lib/uniconv/u8-strconv-from-enc.c: New file.
45853         * lib/uniconv/u-strconv-from-enc.h: New file.
45854         * modules/uniconv/u8-strconv-from-enc-tests: New file.
45855         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
45856
45857         * modules/uniconv/u32-conv-from-enc: New file.
45858         * lib/uniconv/u32-conv-from-enc.c: New file.
45859         * modules/uniconv/u32-conv-from-enc-tests: New file.
45860         * tests/uniconv/test-u32-conv-from-enc.c: New file.
45861
45862         * modules/uniconv/u16-conv-from-enc: New file.
45863         * lib/uniconv/u16-conv-from-enc.c: New file.
45864         * lib/uniconv/u-conv-from-enc.h: New file.
45865         * modules/uniconv/u16-conv-from-enc-tests: New file.
45866         * tests/uniconv/test-u16-conv-from-enc.c: New file.
45867
45868         * modules/uniconv/u8-conv-from-enc: New file.
45869         * lib/uniconv/u8-conv-from-enc.c: New file.
45870         * modules/uniconv/u8-conv-from-enc-tests: New file.
45871         * tests/uniconv/test-u8-conv-from-enc.c: New file.
45872
45873         * modules/uniconv/base: New file.
45874         * lib/uniconv.h: New file.
45875
45876 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
45877
45878         * doc/gnulib-tool.texi (Initial import): Update to match current
45879         behavior with strdup module.
45880         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
45881         * lib/memmem.h: Remove; all uses removed.  This is now done
45882         by <string.h>.
45883         * lib/mempcpy.h: Likewise.
45884         * lib/memrchr.h: Likewise.
45885         * lib/stpcpy.h: Likewise.
45886         * lib/stpncpy.h: Likewise.
45887         * lib/strcase.h: Likewise.
45888         * lib/strchrnul.h: Likewise.
45889         * lib/strdup.h: Likewise.
45890         * lib/strndup.h: Likewise.
45891         * lib/strnlen.h: Likewise.
45892         * lib/strpbrk.h: Likewise.
45893         * lib/strsep.h: Likewise.
45894         * lib/strstr.h: Likewise.
45895         * lib/strtok_r.h: Likewise.
45896         * lib/string_.h: New file.
45897         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
45898         Rely on <string.h> instead.
45899         * lib/canon-host.c: Likewise.
45900         * lib/chdir-long.c: Likewise.
45901         * lib/concatpath.c: Likewise.
45902         * lib/exclude.c: Likewise.
45903         * lib/fchdir.c: Likewise.
45904         * lib/getaddrinfo.c: Likewise.
45905         * lib/getcwd.c: Likewise.
45906         * lib/getsubopt.c: Likewise.
45907         * lib/glob.c: Likewise.
45908         * lib/hard-locale.c: Likewise.
45909         * lib/iconvme.c: Likewise.
45910         * lib/javacomp.c: Likewise.
45911         * lib/mempcpy.c: Likewise.
45912         * lib/memrchr.c: Likewise.
45913         * lib/regex_internal.h: Likewise.
45914         * lib/stpncpy.c: Likewise.
45915         * lib/strcasecmp.c: Likewise.
45916         * lib/strchrnul.c: Likewise.
45917         * lib/strdup.c: Likewise.
45918         * lib/striconv.c: Likewise.
45919         * lib/striconveh.c: Likewise.
45920         * lib/striconveha.c: Likewise.
45921         * lib/strncasecmp.c: Likewise.
45922         * lib/strndup.c: Likewise.
45923         * lib/strnlen.c: Likewise.
45924         * lib/strsep.c: Likewise.
45925         * lib/strstr.c: Likewise.
45926         * lib/strtok_r.c: Likewise.
45927         * lib/userspec.c: Likewise.
45928         * lib/w32spawn.h: Likewise.
45929         * lib/xstrndup.c: Likewise.
45930         * lib/mountlist.c (strstr): Remove decl.
45931         * m4/string_h.m4: New file.
45932         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
45933         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
45934         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
45935         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
45936         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
45937         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
45938         Set REPLACE_STRCASECMP if necessary.
45939         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
45940         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
45941         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
45942         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
45943         HAVE_DECL_STRDUP if necessary.
45944         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
45945         since gl_FUNC_STRNDUP does that now.
45946         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
45947         Check for decl here...
45948         (gl_PREREQ_STRNLEN): ... not here.
45949         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
45950         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
45951         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
45952         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
45953         necessary.
45954         * modules/string: New file.
45955         * modules/memmem (Files): Remove special-purpose include file.
45956         (Depends-on): Add string.
45957         (Include): Include <string.h>, not the removed file.
45958         * modules/mempcpy: Likewise.
45959         * modules/memrchr: Likewise.
45960         * modules/stpcpy: Likewise.
45961         * modules/stpncpy: Likewise.
45962         * modules/strcase: Likewise.
45963         * modules/strchrnul: Likewise.
45964         * modules/strdup: Likewise.
45965         * modules/strndup: Likewise.
45966         * modules/strnlen: Likewise.
45967         * modules/strpbrk: Likewise.
45968         * modules/strsep: Likewise.
45969         * modules/strstr: Likewise.
45970         * modules/strtok_r: Likewise.
45971         * tests/test-dirname.c: Don't include "strdup.h", since
45972         <string.h> now suffices.
45973         * tests/test-memmem.c: Don't include "memmem.h", since
45974         <string.h> now suffices.
45975
45976 2007-01-25  Bruno Haible  <bruno@clisp.org>
45977
45978         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
45979         *resultp is 0.
45980
45981         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
45982         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
45983         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
45984         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
45985
45986         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
45987         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
45988         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
45989         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
45990         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
45991         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
45992
45993 2007-01-24  Bruno Haible  <bruno@clisp.org>
45994
45995         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
45996         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
45997         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
45998         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
45999         gl_FUNC_FTS_CORE.
46000         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
46001         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
46002         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
46003         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
46004         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
46005         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
46006         gl_FUNC_FCHOWNAT.
46007         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
46008         gl_FUNC_STRFTIME.
46009         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
46010         Reported by Ralf Wildenhues.
46011
46012 2007-01-24  Bruno Haible  <bruno@clisp.org>
46013
46014         Drop AC_REQUIRE calls that are redundant with the module dependencies.
46015         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
46016         gl_GETADDRINFO.
46017         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
46018         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
46019         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
46020
46021 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
46022
46023         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
46024         Don't use 'exit'; just return from 'main'.
46025         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
46026
46027         * lib/fnmatch_.h: Readjust white space and comments to match
46028         glibc, to avoid spurious diffs.
46029
46030 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
46031
46032         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
46033         2004-12-01 change by Jakub Jelinek, since this code won't compile
46034         if !LIBC.  Problem reported by Bob Proulx.
46035
46036 2007-01-23  Bruno Haible  <bruno@clisp.org>
46037
46038         * lib/striconveh.c: Include c-strcaseeq.h.
46039         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
46040         * modules/striconveh (Depends-on): Add c-strcaseeq.
46041
46042 2007-01-23  Bruno Haible  <bruno@clisp.org>
46043
46044         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
46045
46046         * modules/c-strcaseeq: New file.
46047         * lib/c-strcaseeq.h: New file.
46048
46049         * modules/streq: New file.
46050         * lib/streq.h: New file.
46051
46052 2007-01-23  Bruno Haible  <bruno@clisp.org>
46053
46054         * modules/striconveha-tests: New file.
46055         * tests/test-striconveha.c: New file.
46056
46057         * lib/striconveha.h: Include <stdbool.h>.
46058         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
46059         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
46060         (mem_iconveha_notranslit): Renamed from mem_iconveha.
46061         (mem_iconveha): New function.
46062         (str_iconveha_notranslit): Renamed from str_iconveha.
46063         (str_iconveha): New function.
46064         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
46065         c-strcase.
46066
46067 2007-01-23  Bruno Haible  <bruno@clisp.org>
46068
46069         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
46070         encodings without forgiving before trying any encoding with handler.
46071         (str_iconveha): Try all encodings without forgiving before trying any
46072         encoding with handler.
46073
46074 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
46075
46076         Import the following changes from libc.
46077
46078         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
46079
46080         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
46081
46082         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
46083
46084         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
46085         normal_bracket label.
46086
46087         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
46088
46089         [BZ #361]
46090         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
46091         to normal_bracket after fetching the next character.
46092
46093 2007-01-22  Bruno Haible  <bruno@clisp.org>
46094
46095         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
46096         argument.
46097         * lib/striconveh.c (iconv_carefully_1): New function.
46098         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
46099         argument.
46100         (str_cd_iconveh): Update.
46101         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
46102         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
46103         * tests/test-striconveh.c (MAGIC): New macro.
46104         (new_offsets): New function.
46105         (main): Test call with and without offsets.
46106
46107 2007-01-22  Bruno Haible  <bruno@clisp.org>
46108
46109         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
46110         * modules/sys_select (Makefile.am): Likewise.
46111         * modules/sys_socket (Makefile.am): Likewise.
46112         * modules/sys_time (Makefile.am): Likewise.
46113
46114 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
46115
46116         * modules/gettimeofday (License): Change from GPL to LGPL, since
46117         gettimeofday is a library function.
46118
46119 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46120
46121         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
46122
46123 2007-01-21  Bruno Haible  <bruno@clisp.org>
46124
46125         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
46126
46127 2007-01-21  Bruno Haible  <bruno@clisp.org>
46128
46129         * modules/striconveha: New file.
46130         * lib/striconveha.h: New file.
46131         * lib/striconveha.c: New file.
46132         * MODULES.html.sh (Internationalization functions): Add striconveha.
46133         * lib/striconv.c (str_iconv): Optimize the case of an empty input
46134         string.
46135         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
46136
46137 2007-01-21  Bruno Haible  <bruno@clisp.org>
46138
46139         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
46140         * lib/striconveh.c (str_iconveh): Likewise.
46141
46142 2007-01-21  Bruno Haible  <bruno@clisp.org>
46143
46144         * lib/striconveh.h (mem_iconveh): New declaration.
46145         * lib/striconveh.c (mem_iconveh): New function.
46146         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
46147
46148 2007-01-21  Bruno Haible  <bruno@clisp.org>
46149
46150         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
46151
46152         * lib/striconveh.h (mem_cd_iconveh): Change specification.
46153         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
46154         original result buffer.
46155         (str_cd_iconveh): Update.
46156         * tests/test-striconveh.c (main): Update.
46157
46158         * lib/striconv.h (mem_cd_iconv): Change specification.
46159         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
46160         result buffer.
46161         (str_cd_iconv): Update.
46162         * tests/test-striconv.c (main): Update.
46163
46164 2007-01-21  Bruno Haible  <bruno@clisp.org>
46165
46166         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
46167
46168 2007-01-20  Jim Meyering  <jim@meyering.net>
46169
46170         * lib/userspec.c (parse_with_separator): If a user or group string
46171         starts with "+", skip the corresponding name-to-ID look-up, since
46172         such a look-up must fail: user and group names may not include "+".
46173
46174 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
46175
46176         * lib/poll.c: Include sys/time.h and time.h unconditionally,
46177         since we now assume the sys_time module.
46178         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
46179         check for sys/time.h; no longer needed.
46180         * modules/poll (Depends-on): Depend on sys_time.
46181
46182 2007-01-18  Bruno Haible  <bruno@clisp.org>
46183
46184         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
46185         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
46186
46187         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
46188         gettimeofday.
46189
46190         * tests/test-gettimeofday.c: Include <time.h>.
46191         (dummy): Remove variable.
46192
46193         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
46194         gl_HEADER_SYS_TIME_H.
46195         (gl_HEADER_SYS_TIME_H): New macro.
46196
46197         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
46198         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
46199         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
46200         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
46201         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
46202         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
46203         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
46204         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
46205         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
46206         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
46207         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
46208
46209         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
46210         last change; it caused a compilation error when cross-compiling to
46211         Cygwin.
46212
46213 2007-01-18  Jim Meyering  <jim@meyering.net>
46214
46215         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
46216         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
46217         than the race-prone "test -d sys || mkdir sys".
46218         (configure.ac): Use AC_PROG_MKDIR_P.
46219         * modules/sys_select: Likewise.
46220         * modules/sys_socket: Likewise.
46221         * modules/sys_time: Likewise.
46222
46223 2007-01-18  Eric Blake  <ebb9@byu.net>
46224
46225         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
46226         replace gettimeofday.
46227         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
46228         name, to avoid infinite recursion.
46229
46230 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
46231
46232         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
46233         module sys_time.
46234         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
46235         assume timespec.h defines struct timeval.
46236         * lib/settime.c: Likewise.
46237         * lib/utimens.c: Likewise.
46238         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
46239         since we now assume the gettimeofday module.
46240         * lib/tempname.c (__gen_tempname): Likewise.
46241         * lib/gettimeofday.h: Remove.
46242         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
46243         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
46244         Include <time.h>, for 'time()'.
46245         (localtime_buffer_addr): Also use this workaround if
46246         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
46247         to simplify the uses.  All uses changed.
46248         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
46249         that #undef is inside {}, and 'const' follows type name consistently.
46250         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
46251         (gettimeofday): Do not use the maximum possible value for
46252         tv->tv_usec, since that might break usages other than ls.c.
46253         Instead, we'll leave ls.c alone.  This undoes today's patch
46254         by Bruno.  Add a compile-time warning for 1s-clock resolution;
46255         we've never observed the problem but might as well keep the
46256         canary.
46257         * lib/nanosleep.c: Include timespec.h first, for interface check.
46258         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
46259         now assume the sys_time module.
46260         * lib/tempname.c: Likewise.
46261         * lib/timespec.h: Likewise.
46262         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
46263         needed.
46264         * lib/strftime.c: Likewise.
46265         * lib/timespec.h: Likewise.
46266         * lib/posixtm.c: Include posixtm.h first, for interface check.
46267         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
46268         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
46269         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
46270         * lib/sys_time_.h: New file.
46271         * lib/timespec.h (struct timespec): Use long int, not long.
46272         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
46273         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
46274         Remove obsolescent call to AC_HEADER_TIME.
46275         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
46276         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
46277         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
46278         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
46279         Likewise.
46280         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
46281         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
46282         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
46283         into the sys_time module.  Check for gettimeofday just once.
46284         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
46285         for gettimeofday signature to just check the signature.  Merely
46286         compile it, since linking doesn't test signature.  Improve test for
46287         whether gettimeofday.o is actually needed.
46288         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
46289         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
46290         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
46291         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
46292         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
46293         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
46294         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
46295         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
46296         than worrying about sys/time.h.
46297         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
46298         Don't bother worrying about TIME_WITH_SYS_TIME.
46299         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
46300         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
46301         * m4/sys_time_h.m4: New file.
46302         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
46303         Don't include sys/time.h.  Return from main rather than exiting.
46304         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
46305         all uses changed.
46306         * modules/gethrxtime (Depends-on): Add sys_time.
46307         * modules/gettime (Depends-on): Likewise.
46308         * modules/gettimeofday (Depends-on): Likewise.
46309         * modules/nanosleep (Depends-on): Likewise.
46310         * modules/settime (Depends-on): Likewise.
46311         * modules/tempname (Depends-on): Likewise.
46312         * modules/utimens (Depends-on): Likewise.
46313         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
46314         (Include:) Change back to <sys/time.h>.
46315         (Maintainer:) Add self.
46316         * modules/sys_time: New file.
46317         * modules/tempname (Depends-on): Add gettimeofday.
46318         * tests/test-gettimeofday.c: Include <sys/time.h>
46319         rather than gettimeofday.h.
46320
46321 2007-01-17  Bruno Haible  <bruno@clisp.org>
46322
46323         * gnulib-tool (func_get_license): Revert last patch. Instead, let
46324         the license default to GPL.
46325         (func_create_testdir): Don't complain if a module is LGPL and its
46326         tests module depends on GPLed modules.
46327
46328 2007-01-17  Bruno Haible  <bruno@clisp.org>
46329
46330         * lib/gettimeofday.c (gettimeofday): Add code for the case
46331         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
46332         maximum possible value for tv->tv_usec, rather than the minimum one.
46333
46334 2005-10-08  Martin Lambers  <marlam@marlam.de>
46335 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
46336 2007-01-16  Bruno Haible  <bruno@clisp.org>
46337
46338         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
46339         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
46340         gl_FUNC_GETTIMEOFDAY.
46341         (Include): Add gettimeofday.h.
46342         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
46343         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
46344         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
46345         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
46346         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
46347         * lib/gettimeofday.h: New file.
46348         * lib/gettimeofday.c: Include <sys/timeb.h>.
46349         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
46350         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
46351         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
46352         fall back on time().
46353
46354         * tests/test-gettimeofday.c: New file.
46355         * modules/gettimeofday-tests: New file.
46356
46357 2007-01-16  Eric Blake  <ebb9@byu.net>
46358
46359         * modules/fnmatch (Depends-on): Depend on wchar.
46360         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
46361         * m4/fnmatch.m4: Likewise.
46362         * modules/mbchar (Makefile.am): Assume <wchar.h>.
46363         * m4/mbchar.m4: Likewise.
46364         * modules/mbswidth (Depends-on): Depend on wchar.
46365         * lib/mbswidth.c: Assume <wchar.h>.
46366         * m4/mbswidth.m4: Likewise.
46367         * modules/quotearg (Depends-on): Depend on wchar.
46368         * lib/quotearg.c: Assume <wchar.h>.
46369         * m4/quotearg.m4: Likewise.
46370         * modules/regex (Depends-on): Depend on wchar.
46371         * lib/regex_internal.h: Assume <wchar.h>.
46372         * m4/regex.m4: Likewise.
46373         * modules/stdint (Depends-on): Depend on wchar.
46374         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
46375         * m4/stdint.m4: Likewise.
46376         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
46377         * modules/strftime (Depends-on): Depend on wchar.
46378         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
46379         * modules/strtol (Depends-on): Depend on wchar.
46380         * lib/strtol.c: Assume <wchar.h>.
46381         * modules/wcwidth (Depends-on): Depend on wchar.
46382         * lib/wcwidth.h: Assume <wchar.h>.
46383         * m4/wcwidth.m4: Likewise.
46384
46385 2007-01-16  Bruno Haible  <bruno@clisp.org>
46386
46387         * modules/csharpexec-script: New, created from...
46388         * modules/csharpexec: ... this.
46389
46390 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
46391
46392         * modules/javaexec-script: New, created from...
46393         * modules/javaexec: ... this.
46394
46395 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46396
46397         * modules/poll (Dependencies): Add sys_select.
46398
46399 2007-01-15  Jim Meyering  <jim@meyering.net>
46400
46401         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
46402         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
46403         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
46404         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
46405
46406 2007-01-15  Bruno Haible  <bruno@clisp.org>
46407
46408         * modules/striconveh: New file.
46409         * lib/striconveh.h: New file.
46410         * lib/striconveh.c: New file.
46411         * MODULES.html.sh (Internationalization functions): Add striconveh.
46412
46413         * modules/striconveh-tests: New file.
46414         * tests/test-striconveh.c: New file.
46415
46416 2007-01-15  Bruno Haible  <bruno@clisp.org>
46417
46418         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
46419         not from GNU libiconv or GNU libc.
46420
46421 2007-01-15  Bruno Haible  <bruno@clisp.org>
46422
46423         * doc/gnulib-intro.texi (Copyright): Explain the different license
46424         terms for module descriptions, autoconf macros, tests, documentation.
46425
46426 2007-01-14  Bruno Haible  <bruno@clisp.org>
46427
46428         * modules/striconv-tests: New file.
46429         * tests/test-striconv.c: New file.
46430
46431 2007-01-14  Bruno Haible  <bruno@clisp.org>
46432
46433         * modules/iconv-tests: New file.
46434         * tests/test-iconv.c: New file.
46435
46436 2007-01-14  Bruno Haible  <bruno@clisp.org>
46437
46438         * gnulib-tool (func_get_license): For test modules, use the license of
46439         the main module.
46440
46441 2007-01-14  Bruno Haible  <bruno@clisp.org>
46442
46443         * modules/iconv (Include): Clarify that <iconv.h> can only be included
46444         if iconv is found to exist.
46445
46446 2007-01-14  Bruno Haible  <bruno@clisp.org>
46447
46448         * modules/c-ctype-tests: New file.
46449         * tests/test-c-ctype.c: New file.
46450
46451 2007-01-14  Bruno Haible  <bruno@clisp.org>
46452
46453         * modules/binary-io-tests: New file.
46454         * tests/test-binary-io.sh: New file.
46455         * tests/test-binary-io.c: New file.
46456
46457 2007-01-14  Bruno Haible  <bruno@clisp.org>
46458
46459         * modules/array-oset-tests: New file.
46460         * tests/test-array_oset.c: New file.
46461
46462 2007-01-14  Bruno Haible  <bruno@clisp.org>
46463
46464         * modules/array-list-tests: New file.
46465         * tests/test-array_list.c: New file.
46466
46467 2007-01-14  Bruno Haible  <bruno@clisp.org>
46468
46469         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
46470         and make.
46471         Reported by Simon Josefsson in
46472         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
46473
46474 2007-01-14  Bruno Haible  <bruno@clisp.org>
46475
46476         * modules/allocsa-tests: New file.
46477         * tests/test-allocsa.c: New file.
46478
46479 2007-01-14  Bruno Haible  <bruno@clisp.org>
46480
46481         * modules/fchdir (Depends-on): Add absolute-header.
46482         * modules/unistd (Depends-on): Likewise.
46483
46484 2006-12-30  Bruno Haible  <bruno@clisp.org>
46485
46486         * modules/fchdir: New file.
46487         * modules/unistd (Files): Add lib/unistd_.h.
46488         (Makefile.am): Generate unistd.h from unistd_.h.
46489         * lib/fchdir.c: New file.
46490         * lib/dirent_.h: New file.
46491         * lib/unistd_.h: New file.
46492         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
46493         * m4/fchdir.m4: New file.
46494         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
46495         (gl_HEADER_UNISTD): Invoke it.
46496         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
46497         function.
46498         * lib/backupfile.c (opendir, closedir): Undefine.
46499         * lib/chown.c (open, close): Undefine.
46500         * lib/clean-temp.c (open, close): Undefine.
46501         * lib/copy-file.c (open, close): Undefine.
46502         * lib/execute.c (open, close): Undefine.
46503         * lib/fsusage.c (open, close): Undefine.
46504         * lib/gc-gnulib.c (open, close): Undefine.
46505         * lib/getcwd.c (opendir, closedir): Undefine.
46506         * lib/glob.c (opendir, closedir): Undefine.
46507         * lib/javacomp.c (open, close): Undefine.
46508         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
46509         * lib/openat-proc.c (open, close): Undefine.
46510         * lib/pagealign_alloc.c (open, close): Undefine.
46511         * lib/pipe.c (open, close): Undefine.
46512         * lib/progreloc.c (open, close): Undefine.
46513         * lib/savedir.c (opendir, closedir): Undefine.
46514         * lib/utime.c (open, close): Undefine.
46515         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
46516
46517 2007-01-10  Bruno Haible  <bruno@clisp.org>
46518
46519         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
46520
46521 2007-01-12  Eric Blake  <ebb9@byu.net>
46522
46523         Provide a robust <wchar.h>.  Further simplifications are now
46524         possible in other modules, but not included here.
46525         * modules/wchar: New module.
46526         * m4/wchar.m4: New file.
46527         * lib/wchar_.h: Likewise.
46528         * modules/mbchar (Depends-on): Depend on wchar, as the first use
46529         of the new module.
46530         * MODULES.html.sh (Extended multibyte and wide character utilities):
46531         New section.
46532
46533 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
46534
46535         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
46536         to a reasonable default for memory allocation.
46537         (xreadlink): Don't allocate a huge buffer, to work around a buggy
46538         file system that reports garbage st_size values for symlinks.
46539         Problem reported by Liyang Hu.
46540
46541 2007-01-11  Simon Josefsson  <simon@josefsson.org>
46542
46543         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
46544         Emacs .#* auto-save files).
46545
46546 2007-01-11  Bruno Haible  <bruno@clisp.org>
46547
46548         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
46549         directory.
46550
46551 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
46552
46553         Use @...@ consistently in lib/wctype_.h.
46554         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
46555         on it being set to 1 or 0.
46556         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
46557         go back to AC_SUBSTing it.
46558         * modules/wctype (Makefile.am): Undo previous change.
46559
46560 2007-01-10  Eric Blake  <ebb9@byu.net>
46561
46562         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
46563         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
46564         * modules/wctype (Makefile.am): Likewise.
46565         Reported by Chris McGuire.
46566
46567 2007-01-10  Jim Meyering  <jim@meyering.net>
46568
46569         fts.c: a small readability/maintainability improvement
46570         * lib/fts.c (fts_read): Make this code slightly more readable and
46571         maintainable by hoisting the "sp->fts_cur = p" assignments to
46572         immediately follow the statements that set P.  Derived from
46573         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
46574
46575 2007-01-10  Eric Blake  <ebb9@byu.net>
46576
46577         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
46578         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
46579         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
46580         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
46581         Reported by Chris McGuire.
46582
46583 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46584
46585         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
46586         in sed script.
46587
46588 2007-01-09  Bruno Haible  <bruno@clisp.org>
46589
46590         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
46591         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
46592         variables.
46593         (func_module): Use them.
46594
46595 2007-01-09  Bruno Haible  <bruno@clisp.org>
46596
46597         * modules/unistr/base: New file.
46598         * lib/unistr.h: New file.
46599
46600         * modules/unistr/u8-to-u16: New file.
46601         * lib/unistr/u8-to-u16.c: New file.
46602
46603         * modules/unistr/u8-to-u32: New file.
46604         * lib/unistr/u8-to-u32.c: New file.
46605
46606         * modules/unistr/u16-to-u8: New file.
46607         * lib/unistr/u16-to-u8.c: New file.
46608
46609         * modules/unistr/u16-to-u32: New file.
46610         * lib/unistr/u16-to-u32.c: New file.
46611
46612         * modules/unistr/u32-to-u8: New file.
46613         * lib/unistr/u32-to-u8.c: New file.
46614
46615         * modules/unistr/u32-to-u16: New file.
46616         * lib/unistr/u32-to-u16.c: New file.
46617
46618         * modules/unistr/u8-check: New file.
46619         * modules/unistr/u16-check: New file.
46620         * modules/unistr/u32-check: New file.
46621         * lib/unistr/u8-check.c: New file.
46622         * lib/unistr/u16-check.c: New file.
46623         * lib/unistr/u32-check.c: New file.
46624
46625         * modules/unistr/u8-chr: New file.
46626         * modules/unistr/u16-chr: New file.
46627         * modules/unistr/u32-chr: New file.
46628         * lib/unistr/u8-chr.c: New file.
46629         * lib/unistr/u16-chr.c: New file.
46630         * lib/unistr/u32-chr.c: New file.
46631
46632         * modules/unistr/u8-cmp: New file.
46633         * modules/unistr/u16-cmp: New file.
46634         * modules/unistr/u32-cmp: New file.
46635         * lib/unistr/u8-cmp.c: New file.
46636         * lib/unistr/u16-cmp.c: New file.
46637         * lib/unistr/u32-cmp.c: New file.
46638
46639         * modules/unistr/u8-cpy: New file.
46640         * modules/unistr/u16-cpy: New file.
46641         * modules/unistr/u32-cpy: New file.
46642         * lib/unistr/u8-cpy.c: New file.
46643         * lib/unistr/u16-cpy.c: New file.
46644         * lib/unistr/u32-cpy.c: New file.
46645         * lib/unistr/u-cpy.h: New file.
46646
46647         * modules/unistr/u8-cpy-alloc: New file.
46648         * modules/unistr/u16-cpy-alloc: New file.
46649         * modules/unistr/u32-cpy-alloc: New file.
46650         * lib/unistr/u8-cpy-alloc.c: New file.
46651         * lib/unistr/u16-cpy-alloc.c: New file.
46652         * lib/unistr/u32-cpy-alloc.c: New file.
46653         * lib/unistr/u-cpy-alloc.h: New file.
46654
46655         * modules/unistr/u8-endswith: New file.
46656         * modules/unistr/u16-endswith: New file.
46657         * modules/unistr/u32-endswith: New file.
46658         * lib/unistr/u8-endswith.c: New file.
46659         * lib/unistr/u16-endswith.c: New file.
46660         * lib/unistr/u32-endswith.c: New file.
46661         * lib/unistr/u-endswith.h: New file.
46662
46663         * modules/unistr/u8-mblen: New file.
46664         * modules/unistr/u16-mblen: New file.
46665         * modules/unistr/u32-mblen: New file.
46666         * lib/unistr/u8-mblen.c: New file.
46667         * lib/unistr/u16-mblen.c: New file.
46668         * lib/unistr/u32-mblen.c: New file.
46669
46670         * modules/unistr/u8-mbtouc: New file.
46671         * modules/unistr/u16-mbtouc: New file.
46672         * modules/unistr/u32-mbtouc: New file.
46673         * lib/unistr/u8-mbtouc.c: New file.
46674         * lib/unistr/u16-mbtouc.c: New file.
46675         * lib/unistr/u32-mbtouc.c: New file.
46676
46677         * modules/unistr/u8-mbtouc-safe: New file.
46678         * modules/unistr/u16-mbtouc-safe: New file.
46679         * modules/unistr/u32-mbtouc-safe: New file.
46680         * lib/unistr/u8-mbtouc-safe.c: New file.
46681         * lib/unistr/u16-mbtouc-safe.c: New file.
46682         * lib/unistr/u32-mbtouc-safe.c: New file.
46683
46684         * modules/unistr/u8-move: New file.
46685         * modules/unistr/u16-move: New file.
46686         * modules/unistr/u32-move: New file.
46687         * lib/unistr/u8-move.c: New file.
46688         * lib/unistr/u16-move.c: New file.
46689         * lib/unistr/u32-move.c: New file.
46690         * lib/unistr/u-move.h: New file.
46691
46692         * modules/unistr/u8-next: New file.
46693         * modules/unistr/u16-next: New file.
46694         * modules/unistr/u32-next: New file.
46695         * lib/unistr/u8-next.c: New file.
46696         * lib/unistr/u16-next.c: New file.
46697         * lib/unistr/u32-next.c: New file.
46698
46699         * modules/unistr/u8-prev: New file.
46700         * modules/unistr/u16-prev: New file.
46701         * modules/unistr/u32-prev: New file.
46702         * lib/unistr/u8-prev.c: New file.
46703         * lib/unistr/u16-prev.c: New file.
46704         * lib/unistr/u32-prev.c: New file.
46705
46706         * modules/unistr/u8-set: New file.
46707         * modules/unistr/u16-set: New file.
46708         * modules/unistr/u32-set: New file.
46709         * lib/unistr/u8-set.c: New file.
46710         * lib/unistr/u16-set.c: New file.
46711         * lib/unistr/u32-set.c: New file.
46712         * lib/unistr/u-set.h: New file.
46713
46714         * modules/unistr/u8-startswith: New file.
46715         * modules/unistr/u16-startswith: New file.
46716         * modules/unistr/u32-startswith: New file.
46717         * lib/unistr/u8-startswith.c: New file.
46718         * lib/unistr/u16-startswith.c: New file.
46719         * lib/unistr/u32-startswith.c: New file.
46720         * lib/unistr/u-startswith.h: New file.
46721
46722         * modules/unistr/u8-stpcpy: New file.
46723         * modules/unistr/u16-stpcpy: New file.
46724         * modules/unistr/u32-stpcpy: New file.
46725         * lib/unistr/u8-stpcpy.c: New file.
46726         * lib/unistr/u16-stpcpy.c: New file.
46727         * lib/unistr/u32-stpcpy.c: New file.
46728         * lib/unistr/u-stpcpy.h: New file.
46729
46730         * modules/unistr/u8-stpncpy: New file.
46731         * modules/unistr/u16-stpncpy: New file.
46732         * modules/unistr/u32-stpncpy: New file.
46733         * lib/unistr/u8-stpncpy.c: New file.
46734         * lib/unistr/u16-stpncpy.c: New file.
46735         * lib/unistr/u32-stpncpy.c: New file.
46736         * lib/unistr/u-stpncpy.h: New file.
46737
46738         * modules/unistr/u8-strcat: New file.
46739         * modules/unistr/u16-strcat: New file.
46740         * modules/unistr/u32-strcat: New file.
46741         * lib/unistr/u8-strcat.c: New file.
46742         * lib/unistr/u16-strcat.c: New file.
46743         * lib/unistr/u32-strcat.c: New file.
46744         * lib/unistr/u-strcat.h: New file.
46745
46746         * modules/unistr/u8-strchr: New file.
46747         * modules/unistr/u16-strchr: New file.
46748         * modules/unistr/u32-strchr: New file.
46749         * lib/unistr/u8-strchr.c: New file.
46750         * lib/unistr/u16-strchr.c: New file.
46751         * lib/unistr/u32-strchr.c: New file.
46752
46753         * modules/unistr/u8-strcmp: New file.
46754         * modules/unistr/u16-strcmp: New file.
46755         * modules/unistr/u32-strcmp: New file.
46756         * lib/unistr/u8-strcmp.c: New file.
46757         * lib/unistr/u16-strcmp.c: New file.
46758         * lib/unistr/u32-strcmp.c: New file.
46759
46760         * modules/unistr/u8-strcpy: New file.
46761         * modules/unistr/u16-strcpy: New file.
46762         * modules/unistr/u32-strcpy: New file.
46763         * lib/unistr/u8-strcpy.c: New file.
46764         * lib/unistr/u16-strcpy.c: New file.
46765         * lib/unistr/u32-strcpy.c: New file.
46766         * lib/unistr/u-strcpy.h: New file.
46767
46768         * modules/unistr/u8-strcspn: New file.
46769         * modules/unistr/u16-strcspn: New file.
46770         * modules/unistr/u32-strcspn: New file.
46771         * lib/unistr/u8-strcspn.c: New file.
46772         * lib/unistr/u16-strcspn.c: New file.
46773         * lib/unistr/u32-strcspn.c: New file.
46774         * lib/unistr/u-strcspn.h: New file.
46775
46776         * modules/unistr/u8-strdup: New file.
46777         * modules/unistr/u16-strdup: New file.
46778         * modules/unistr/u32-strdup: New file.
46779         * lib/unistr/u8-strdup.c: New file.
46780         * lib/unistr/u16-strdup.c: New file.
46781         * lib/unistr/u32-strdup.c: New file.
46782         * lib/unistr/u-strdup.h: New file.
46783
46784         * modules/unistr/u8-strlen: New file.
46785         * modules/unistr/u16-strlen: New file.
46786         * modules/unistr/u32-strlen: New file.
46787         * lib/unistr/u8-strlen.c: New file.
46788         * lib/unistr/u16-strlen.c: New file.
46789         * lib/unistr/u32-strlen.c: New file.
46790         * lib/unistr/u-strlen.h: New file.
46791
46792         * modules/unistr/u8-strmblen: New file.
46793         * modules/unistr/u16-strmblen: New file.
46794         * modules/unistr/u32-strmblen: New file.
46795         * lib/unistr/u8-strmblen.c: New file.
46796         * lib/unistr/u16-strmblen.c: New file.
46797         * lib/unistr/u32-strmblen.c: New file.
46798
46799         * modules/unistr/u8-strmbtouc: New file.
46800         * modules/unistr/u16-strmbtouc: New file.
46801         * modules/unistr/u32-strmbtouc: New file.
46802         * lib/unistr/u8-strmbtouc.c: New file.
46803         * lib/unistr/u16-strmbtouc.c: New file.
46804         * lib/unistr/u32-strmbtouc.c: New file.
46805
46806         * modules/unistr/u8-strncat: New file.
46807         * modules/unistr/u16-strncat: New file.
46808         * modules/unistr/u32-strncat: New file.
46809         * lib/unistr/u8-strncat.c: New file.
46810         * lib/unistr/u16-strncat.c: New file.
46811         * lib/unistr/u32-strncat.c: New file.
46812         * lib/unistr/u-strncat.h: New file.
46813
46814         * modules/unistr/u8-strncmp: New file.
46815         * modules/unistr/u16-strncmp: New file.
46816         * modules/unistr/u32-strncmp: New file.
46817         * lib/unistr/u8-strncmp.c: New file.
46818         * lib/unistr/u16-strncmp.c: New file.
46819         * lib/unistr/u32-strncmp.c: New file.
46820
46821         * modules/unistr/u8-strncpy: New file.
46822         * modules/unistr/u16-strncpy: New file.
46823         * modules/unistr/u32-strncpy: New file.
46824         * lib/unistr/u8-strncpy.c: New file.
46825         * lib/unistr/u16-strncpy.c: New file.
46826         * lib/unistr/u32-strncpy.c: New file.
46827         * lib/unistr/u-strncpy.h: New file.
46828
46829         * modules/unistr/u8-strnlen: New file.
46830         * modules/unistr/u16-strnlen: New file.
46831         * modules/unistr/u32-strnlen: New file.
46832         * lib/unistr/u8-strnlen.c: New file.
46833         * lib/unistr/u16-strnlen.c: New file.
46834         * lib/unistr/u32-strnlen.c: New file.
46835         * lib/unistr/u-strnlen.h: New file.
46836
46837         * modules/unistr/u8-strpbrk: New file.
46838         * modules/unistr/u16-strpbrk: New file.
46839         * modules/unistr/u32-strpbrk: New file.
46840         * lib/unistr/u8-strpbrk.c: New file.
46841         * lib/unistr/u16-strpbrk.c: New file.
46842         * lib/unistr/u32-strpbrk.c: New file.
46843         * lib/unistr/u-strpbrk.h: New file.
46844
46845         * modules/unistr/u8-strrchr: New file.
46846         * modules/unistr/u16-strrchr: New file.
46847         * modules/unistr/u32-strrchr: New file.
46848         * lib/unistr/u8-strrchr.c: New file.
46849         * lib/unistr/u16-strrchr.c: New file.
46850         * lib/unistr/u32-strrchr.c: New file.
46851
46852         * modules/unistr/u8-strspn: New file.
46853         * modules/unistr/u16-strspn: New file.
46854         * modules/unistr/u32-strspn: New file.
46855         * lib/unistr/u8-strspn.c: New file.
46856         * lib/unistr/u16-strspn.c: New file.
46857         * lib/unistr/u32-strspn.c: New file.
46858         * lib/unistr/u-strspn.h: New file.
46859
46860         * modules/unistr/u8-strstr: New file.
46861         * modules/unistr/u16-strstr: New file.
46862         * modules/unistr/u32-strstr: New file.
46863         * lib/unistr/u8-strstr.c: New file.
46864         * lib/unistr/u16-strstr.c: New file.
46865         * lib/unistr/u32-strstr.c: New file.
46866         * lib/unistr/u-strstr.h: New file.
46867
46868         * modules/unistr/u8-strtok: New file.
46869         * modules/unistr/u16-strtok: New file.
46870         * modules/unistr/u32-strtok: New file.
46871         * lib/unistr/u8-strtok.c: New file.
46872         * lib/unistr/u16-strtok.c: New file.
46873         * lib/unistr/u32-strtok.c: New file.
46874         * lib/unistr/u-strtok.h: New file.
46875
46876         * modules/unistr/u8-uctomb: New file.
46877         * modules/unistr/u16-uctomb: New file.
46878         * modules/unistr/u32-uctomb: New file.
46879         * lib/unistr/u8-uctomb.c: New file.
46880         * lib/unistr/u16-uctomb.c: New file.
46881         * lib/unistr/u32-uctomb.c: New file.
46882
46883         * MODULES.html.sh (Unicode string functions): Add the new modules.
46884
46885 2007-01-08  Bruno Haible  <bruno@clisp.org>
46886
46887         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
46888         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
46889         subdirectories.
46890
46891 2007-01-08  Karl Berry  <karl@gnu.org>
46892
46893         * doc/error.texi: mention that main() fns must set program_name
46894         when progname is used.
46895
46896 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
46897
46898         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
46899         WCTYPE_H is empty, for the benefit of builds from non-distclean
46900         directories.  Problem reported by Eric Blake in
46901         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
46902
46903 2007-01-08  Bruno Haible  <bruno@clisp.org>
46904
46905         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
46906         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
46907         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
46908         PROVIDE_CANONICALIZE_FILENAME_MODE.
46909         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
46910
46911 2007-01-08  Bruno Haible  <bruno@clisp.org>
46912
46913         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
46914         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
46915         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
46916         * lib/fts.c: Likewise.
46917         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
46918
46919 2006-12-25  Bruno Haible  <bruno@clisp.org>
46920
46921         * modules/utf8-ucs4-safe: New file.
46922         * lib/utf8-ucs4-safe.h: New file.
46923         * lib/unistr/utf8-ucs4-safe.c: New file.
46924
46925         * modules/utf16-ucs4-safe: New file.
46926         * lib/utf16-ucs4-safe.h: New file.
46927         * lib/unistr/utf16-ucs4-safe.c: New file.
46928
46929         * MODULES.html.sh (Unicode string functions): Add the new modules.
46930
46931 2007-01-08  Bruno Haible  <bruno@clisp.org>
46932
46933         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
46934         (Depends-on): Add unitypes.
46935         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
46936         (u8_mbtouc_aux): Move out to separate file.
46937         (u8_mbtouc): Use ucs4_t, uint8_t types.
46938         * lib/unistr/utf8-ucs4.c: New file.
46939
46940         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
46941         (Depends-on): Add unitypes.
46942         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
46943         (u16_mbtouc_aux): Move out to separate file.
46944         (u16_mbtouc): Use ucs4_t, uint16_t types.
46945         * lib/unistr/utf16-ucs4.c: New file.
46946
46947         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
46948         (Depends-on): Add unitypes.
46949         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
46950         (u8_uctomb_aux): Move out to separate file.
46951         (u8_uctomb): Use ucs4_t, uint8_t types.
46952         * lib/unistr/ucs4-utf8.c: New file.
46953
46954         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
46955         (Depends-on): Add unitypes.
46956         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
46957         (u16_uctomb_aux): Move out to separate file.
46958         (u16_uctomb): Use ucs4_t, uint16_t types.
46959         * lib/unistr/ucs4-utf16.c: New file.
46960
46961 2006-12-25  Bruno Haible  <bruno@clisp.org>
46962
46963         * modules/unitypes: New file.
46964         * lib/unitypes.h: New file.
46965         * MODULES.html.sh (func_all_modules): New section "Unicode string
46966         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
46967         this section. Add unitypes.
46968
46969 2007-01-08  Bruno Haible  <bruno@clisp.org>
46970
46971         Avoid variable names that conflict with those from libtool.
46972         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
46973         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
46974         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
46975         library_names_spec to acl_library_names_spec, hardcode_* to
46976         acl_hardcode_*.
46977         Reported by Ralf Wildenhues.
46978
46979 2007-01-08  Bruno Haible  <bruno@clisp.org>
46980
46981         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
46982         definition.
46983         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
46984         definition.
46985         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
46986         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
46987         definition.
46988         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
46989         definition.
46990         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
46991         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
46992         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
46993         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
46994         definition.
46995         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
46996         definition.
46997         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
46998         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
46999         GC_USE_<algorithm>.
47000         * lib/gc-libgcrypt.c: Likewise.
47001         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
47002         * modules/gc-arctwo (configure.ac): Likewise.
47003         * modules/gc-des (configure.ac): Likewise.
47004         * modules/gc-hmac-md5 (configure.ac): Likewise.
47005         * modules/gc-hmac-sha1 (configure.ac): Likewise.
47006         * modules/gc-md2 (configure.ac): Likewise.
47007         * modules/gc-md4 (configure.ac): Likewise.
47008         * modules/gc-md5 (configure.ac): Likewise.
47009         * modules/gc-random (configure.ac): Likewise.
47010         * modules/gc-rijndael (configure.ac): Likewise.
47011         * modules/gc-sha1 (configure.ac): Likewise.
47012
47013 2007-01-08  Bruno Haible  <bruno@clisp.org>
47014
47015         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
47016         macro definition.
47017         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
47018         definition.
47019         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
47020         definition.
47021         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
47022         * modules/fcntl-safer (configure.ac): Likewise.
47023         * modules/fopen-safer (configure.ac): Likewise.
47024         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
47025         GNULIB_FWRITEERROR macro definition.
47026
47027 2007-01-08  Bruno Haible  <bruno@clisp.org>
47028
47029         * m4/gnulib-common.m4: New file.
47030         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
47031         (func_get_filelist): Add m4/gnulib-common.m4.
47032
47033 2007-01-08  Bruno Haible  <bruno@clisp.org>
47034
47035         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
47036         command.
47037
47038 2007-01-08  Jim Meyering  <jim@meyering.net>
47039
47040         Use a more robust test for a "can't happen" condition.
47041         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
47042         narrowed the st_size value.  Presuming the "can't happen" condition
47043         is true, that narrowing could conceivably convert an invalid st_size
47044         value into a valid one.  Instead, use a change based on Matthew
47045         Woehlke's original patch.
47046
47047         Slight readability improvement: use an assert-like macro
47048         in place of literal "abort ()" uses.
47049         * lib/fts.c (fts_assert): Define.
47050         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
47051         Use this macro instead of a bare 'abort'.
47052
47053 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
47054
47055         Don't worry about using IRIX 5.3's wctype.h broken definitions;
47056         simply work around them.
47057         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
47058         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
47059         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
47060         declaring.
47061         Don't bother to define as macros, since the standard doesn't require it.
47062         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
47063         longer worry about IRIX 5.3.
47064         (HAVE_WCTYPE_CTMP_BUG): Remove.
47065
47066 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
47067
47068         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
47069         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
47070         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
47071         Problems reported by Georg Schwarz for IRIX 5.3.
47072
47073         * gnulib-tool (autoconf_minversion): Take the maximum version number
47074         found, not the minimum.  Problem reported by James Youngman.
47075
47076 2007-01-03  Karl Berry  <karl@gnu.org>
47077
47078         * doc/error.texi: new file, explaining interaction with progname.
47079         * doc/gnulib.texi: include it.  Update copyright.
47080
47081 2007-01-03  Simon Josefsson  <simon@josefsson.org>
47082
47083         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
47084         AC_CANONICAL_HOST, to improve autobuild outputs.
47085
47086 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
47087             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
47088
47089         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
47090         sockets, server sockets, and other file descriptors.  Count errors
47091         to compute the return value.  Reorder the code a bit to be easier
47092         to follow.  Don't set event bits that were not requested (except
47093         POLLERR and POLLHUP).
47094
47095 2007-01-01  Bruno Haible  <bruno@clisp.org>
47096
47097         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
47098
47099 2007-01-03  Jim Meyering  <jim@meyering.net>
47100
47101         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
47102
47103 2007-01-02  Bruno Haible  <bruno@clisp.org>
47104
47105         * modules/settime (Include): Require timespec.h.
47106         * modules/nanosleep (Include): Likewise.
47107
47108 2007-01-01  Bruno Haible  <bruno@clisp.org>
47109
47110         * gnulib-tool (func_emit_copyright_notice): Bump year.
47111         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
47112
47113 2007-01-01  Bruno Haible  <bruno@clisp.org>
47114
47115         Improve support for OpenBSD.
47116         * build-aux/config.rpath (libname_spec): Export.
47117         (library_names_spec): New variable. Export.
47118         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
47119         library_names_spec from the config.rpath output. Locate shared library
47120         through the name pattern in library_names_spec.
47121
47122 2007-01-01  Eric Blake  <ebb9@byu.net>
47123
47124         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
47125
47126 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
47127
47128         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
47129         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
47130         assume the C locale, and avoid an "eval" that could cause trouble.
47131         Problem with SORT reported by Bob Proulx.
47132
47133         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
47134         Define.  Trivial patch from Henning Nielsen Lund, originally
47135         sent to bug-grep@gnu.org today.
47136
47137 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
47138
47139         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
47140         struct stat.  Problem reported by Henning Nielsen Lund.
47141         * lib/acl.c: Include acl.h first, to check interface.  Don't
47142         bother to include sys/types.h and sys/stat.h again.
47143
47144 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
47145
47146         Import the following change from libc; problem reported by
47147         Sven Verdoolaege.
47148
47149         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
47150
47151         [BZ #1373]
47152         * lib/argp.h: Remove __NTH for __argp_usage inline function.
47153
47154 2006-12-28  Jim Meyering  <jim@meyering.net>
47155
47156         * build-aux/announce-gen: Do not assume that the package
47157         builds any of tar.gz, tar.bz2, and .xdelta files.
47158         Suggestion from Simon Josefsson.
47159
47160 2006-12-28  Simon Josefsson  <simon@josefsson.org>
47161
47162         * modules/announce-gen: New file.
47163
47164 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
47165
47166         * lib/mbchar.h: Just include <wctype.h>; the wctype module
47167         handles its gotchas now.
47168         * lib/mbswidth.c: Likewise.
47169         * lib/wcwidth.h: Likewise.
47170         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
47171         and iswcntrl; the wctype module does this stuff now.
47172         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
47173         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
47174         * modules/mbchar (Depends-on): Add wctype.
47175         * modules/mbswidth (Depends-on): Likewise.
47176         * modules/wcwidth (Depends-on): Likewise.
47177
47178 2006-12-27  Eric Blake  <ebb9@byu.net>
47179
47180         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
47181         module uses more than what <wctype.h> is required to provide.
47182
47183 2006-12-26  Eric Blake  <ebb9@byu.net>
47184
47185         * gnulib-tool (sed_extract_prog): Avoid space-tab.
47186
47187 2006-12-26  Eric Blake  <ebb9@byu.net>
47188
47189         * modules/absolute-header: New module.
47190         * modules/fcntl (Depends-on): Depend on it.
47191         * modules/inttypes (Depends-on): Likewise.
47192         * modules/stdint (Depends-on): Likewise.
47193         * modules/sys_stat (Depends-on): Likewise.
47194         * modules/wctype (Depends-on): Likewise.
47195         * MODULES.html.sh (Support for building libraries and
47196         executables): Document it.
47197
47198 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
47199
47200         * gnulib-tool (SED): Remove, undoing previous change.
47201         The problem was that it broke coreutils on Solaris, because
47202         "sed --posix" leaked into a makefile.
47203         (sed): New alias, if 'alias' and GNU sed.
47204
47205 2006-12-24  Jim Meyering  <jim@meyering.net>
47206
47207         Work around an fchownat bug in glibc-2.4:
47208         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
47209         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
47210         in spite of the -P option.
47211         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
47212         New macros.
47213         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
47214         * modules/openat (Files): Add lib/fchownat.c.
47215         * lib/openat.c (fchownat): Don't define here.  Move to...
47216         * lib/fchownat.c: ...this new file.
47217
47218 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
47219
47220         Fix bug reported by Bruno Haible in
47221         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
47222         where quotearg.c didn't compile on Mac OS X 10.2 because it
47223         lacks <wchar.h> and wint_t.
47224         * lib/wctype_.h (__wctype_wint_t): New type.
47225         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
47226         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
47227         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
47228         Arg is now of type __wctype_wint_t, not wint_t.
47229         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
47230         substitute HAVE_WINT_T.
47231         * modules/wctype (Files): Add m4/wint_t.m4.
47232         (wctype.h): Substitute HAVE_WINT_T.
47233
47234 2006-12-23  Bruno Haible  <bruno@clisp.org>
47235
47236         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
47237
47238 2006-12-23  Bruno Haible  <bruno@clisp.org>
47239
47240         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
47241         S_ISLNK.
47242         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
47243         mingw.
47244
47245 2006-12-22  Bruno Haible  <bruno@clisp.org>
47246
47247         * lib/copy-file.c: Include acl.h.
47248         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
47249         Close the file descriptors only after being done with copy_acl.
47250         * modules/copy-file (Depends-on): Add acl.
47251
47252 2006-12-22  Bruno Haible  <bruno@clisp.org>
47253
47254         * gnulib-tool (SED): New variable.
47255         Use $SED instead of sed everywhere.
47256
47257 2006-12-22  Bruno Haible  <bruno@clisp.org>
47258
47259         * modules/no-c++: New file.
47260         * m4/no-c++.m4: New file.
47261         * MODULES.html.sh (Support for building libraries and executables):
47262         Add no-c++.
47263
47264 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
47265
47266         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
47267         Include <limits.h>, and use its INT_MAX to rewrite the
47268         j loop so that it does not overflow 'int'.  Problem reported by
47269         Ralf Wildenhues in
47270         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
47271         Play it safe by shifting left by 1 rather than multiplying by 2,
47272         as GCC is less likely to optimize this away when the value
47273         is signed (when it assumes overflow leads to undefined behavior).
47274         Also, don't assume time_t uses two's complement.
47275
47276 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
47277
47278         * MODULES.html.sh: New module wctype.
47279         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
47280         * lib/fnmatch.c: Don't bother to include <wchar.h> before
47281         <wctype.h>, since the new wctype module should fix this.
47282         * lib/quotearg.c: Include <wctype.h> unconditionally, since
47283         the wctype module should arrange for it.
47284         * lib/regex_internal.h: Likewise.
47285         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
47286         since the wctype module should handle this now.
47287         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
47288         * modules/fnmatch (Depends-on): Add wctype.
47289         * modules/quotearg (Depends-on): Likewise.
47290         * modules/regex (Depends-on): Likewise.
47291
47292 2006-12-19  Bruno Haible  <bruno@clisp.org>
47293
47294         * lib/strdup.h [C++]: Wrap definitions in extern "C".
47295         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
47296
47297 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47298
47299         * modules/savewd (Depends-on): Fix dependency on fcntl.
47300
47301 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
47302
47303         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
47304         conforms to C99, rather than relying on the user's environment
47305         setting of STDINT_H.
47306
47307 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
47308         and Eric Blake  <ebb9@byu.net>
47309
47310         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
47311         This is more consistent with the other defines here.
47312         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
47313         Port to z/OS.  Problem reported by Paul Gilmartin.
47314         Change local vars to use gl_ prefix rather than ac_.
47315         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
47316         with other defines.
47317         * modules/double-slash-root: New module.
47318         * modules/dirname (Files): Remove m4/double-slash-root.m4.
47319         (Depends-on): Add double-slash-root.
47320         * MODULES.html.sh (File system functions): Mention new module.
47321
47322 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
47323
47324         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
47325         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
47326         This is for the benefit of gzip, which doesn't do i18n.
47327
47328 2006-12-12  Jim Meyering  <jim@meyering.net>
47329
47330         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
47331         Reported by Andreas Schwab <schwab@suse.de>.
47332
47333 2006-12-12  Bruno Haible  <bruno@clisp.org>
47334
47335         Merge these changes.
47336         2006-09-05  Bruno Haible  <bruno@clisp.org>
47337         * lib/iconvme.c (iconv_string): No need to save and restore errno when
47338         iconv_alloc succeeded.
47339         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
47340         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
47341         test for " && dest " at the end - dest is always != NULL there. Call
47342         iconv with 4xNULL arguments initially, to reset the state. Call iconv
47343         with 2xNULL arguments, also to flush the state storage. Handle the
47344         IRIX iconv behaviour. Realloc the final result, to throw away unused
47345         memory.
47346
47347 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
47348
47349         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
47350         and fchmodat unconditionally, since glibc 2.4 has them.
47351         Problem reported by Arkadiusz Miskiewicz.
47352
47353 2006-12-10  Bruno Haible  <bruno@clisp.org>
47354
47355         * gnulib-tool (func_import): Show the include files only for those
47356         modules that are copied and specified.
47357         Reported by Karl Berry.
47358
47359 2006-12-08  Jim Meyering  <jim@meyering.net>
47360
47361         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
47362         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
47363
47364         * build-aux/announce-gen: Add two new options, both optional:
47365         --bootstrap-tools=TOOL_LIST
47366               a comma-separated list of tools, e.g.,
47367               autoconf,automake,bison,gnulib
47368         --gnulib-snapshot-date=DATE
47369               if gnulib is in the bootstrap tool list,
47370               then report this as the snapshot date.
47371               If not specified, use the current date/time.
47372               If you specify a date here, be sure it's UTC.
47373
47374 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47375
47376         * tests/test-argp-2.sh: Fix test to match actual output.
47377         (func_compare): Fix sed script to be portable.
47378
47379 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
47380
47381         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
47382         workaround for this case.  It is not autoconfigured now; offhand
47383         it's hard to see how to autoconfigure it.
47384
47385 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
47386
47387         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
47388         a directory that is about to be chowned.  Such a directory's
47389         initial file permissions should permit the owner only and this
47390         should not be changed until after the chown, since the group and
47391         other bits would be incorrect if they granted permission before
47392         the chown.
47393
47394         Fix porting problem for iswctype reported by Georg Schwarz in:
47395         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
47396         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
47397         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
47398         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
47399         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
47400
47401 2006-12-03  Jim Meyering  <jim@meyering.net>
47402
47403         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
47404         p->fts_statp may not yet be defined.
47405         (fts_read): Instead, set it in the caller, once p->fts_statp is
47406         sure to be defined, and corresponds to a top-level directory.
47407         This bug made du -x fail.  Here's the coreutils test case:
47408         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
47409         Reported by Mike Frysinger.
47410
47411 2006-12-01  Jim Meyering  <jim@meyering.net>
47412
47413         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
47414         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
47415         Reported by Simon Josefsson.
47416
47417 2006-11-30  Jim Meyering  <jim@meyering.net>
47418
47419         * m4/warning.m4: Use the all-permissive copyright notice
47420         recommended by RMS (rather than LGPL).
47421         * m4/vararrays.m4: Likewise.
47422         * m4/flexmember.m4: Likewise.
47423
47424 2006-11-29  Bruno Haible  <bruno@clisp.org>
47425
47426         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
47427         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
47428         using +=.
47429         Reported by Simon Josefsson <simon@josefsson.org>.
47430
47431 2006-11-28  James Youngman <jay@gnu.org>
47432
47433         * README: Advise users that they might find the bug-gnulib@gnu.org
47434         and autotools-announce@gnu.org mailing lists useful.
47435
47436 2006-11-28  Bruno Haible  <bruno@clisp.org>
47437
47438         * m4/ptrdiff_max.m4: Remove file.
47439
47440 2006-11-21  Bruno Haible  <bruno@clisp.org>
47441
47442         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
47443         _AC_COMPUTE_INT.
47444         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
47445         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
47446         _AC_COMPUTE_INT.
47447         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
47448         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
47449         _AC_COMPUTE_INT.
47450         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
47451
47452 2006-11-28  Jim Meyering  <jim@meyering.net>
47453
47454         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
47455         warning from "gcc -Wshadow" about shadowing the builtin.
47456
47457 2006-11-27  Bruno Haible  <bruno@clisp.org>
47458
47459         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
47460         _AC_COMPUTE_INT.
47461         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
47462
47463 2006-11-27  Bruno Haible  <bruno@clisp.org>
47464             Paul Eggert  <eggert@cs.ucla.edu>
47465
47466         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
47467
47468 2006-11-26  Bruno Haible  <bruno@clisp.org>
47469
47470         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
47471         noinst_LTLIBRARIES.
47472
47473 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
47474             Bruno Haible  <bruno@clisp.org>
47475
47476         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
47477         if compiling with "gcc -ansi".
47478
47479 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
47480
47481         Fix some incompatibilities with gcc -ansi -pedantic.
47482         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
47483         if compiling pedantically with GCC, unless it's C99 or later.
47484         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
47485         it mishandles gcc -ansi -pedantic as well.
47486         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
47487         if gcc -pedantic.
47488         * lib/regexec.c (check_node_accept_bytes): Don't use auto
47489         initializers for struct if -pedantic, unless it's C99 or later.
47490
47491 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
47492
47493         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
47494         Don't close an fd more than once. Identical atimes indicate
47495         success, not failure.
47496
47497 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
47498
47499         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
47500
47501 2006-11-23  Jim Meyering  <jim@meyering.net>
47502
47503         * build-aux/announce-gen: New file.  From coreutils.
47504
47505 2006-11-22  Jim Meyering  <jim@meyering.net>
47506
47507         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
47508         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
47509         (fts_read): Use a temporary to narrow the overused st_size member
47510         before using it in a switch statement.  Reported by Matthew Woehlke.
47511
47512         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
47513         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
47514
47515 2006-11-20  Bruno Haible  <bruno@clisp.org>
47516
47517         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
47518         changequote instead of pairs of brackets.
47519         Reported by Andreas Schwab <schwab@suse.de>.
47520
47521 2006-11-21  Jim Meyering  <jim@meyering.net>
47522
47523         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
47524         so as to remain compatible with older compilers.
47525         Patch from Michael Deutschmann.
47526
47527 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
47528
47529         * MODULES.html.sh (File system functions): Add openat.
47530
47531         * lib/openat.h (rpl_fstatat): New macro, if
47532         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
47533         (fstatat): Define to rpl_fstatat under the same conditions,
47534         unless COMPILING_FSTATAT.
47535         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
47536         seems to have the bug.
47537         * lib/fstatat.c: New file.
47538         * modules/openat (Files): Add it.
47539
47540 2006-11-20  Bruno Haible  <bruno@clisp.org>
47541
47542         * Makefile: New file.
47543
47544 2006-11-20  Jim Meyering  <jim@meyering.net>
47545
47546         The beginnings of syntax-related checks for gnulib.
47547         * lib/Makefile: New file.
47548         * lib/t-idcache: New script.  Ensure that the two halves of
47549         idcache.c stay in sync.
47550
47551         * lib/idcache.c: Adjust comments in user- and group- portions to
47552         be more accurate, and to be consistent with one another.
47553
47554 2006-11-20  Jim Meyering  <jim@meyering.net>
47555
47556         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
47557         continue using the flexible array member (thus, this module performs
47558         half as many malloc calls), with the addition that...
47559         (getgroup, getuser): Consistently record a non-match via an empty
47560         "name" string, and map an empty string match to a NULL return value.
47561         * modules/idcache (Depends-on): Re-add flexmember.
47562
47563         * lib/idcache.c (getuser): Remove all uses of the register keyword.
47564         (getuidbyname, getgroup, getgidbyname): Likewise.
47565
47566         Use cleaner syntax: NULL rather than 0.
47567         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
47568
47569 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
47570
47571         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
47572         It mishandled the case where the group was missing.
47573         Problem reported by Greg Schafer.
47574         * modules/idcache: Likewise.
47575
47576 2006-11-18  Jim Meyering  <jim@meyering.net>
47577
47578         * check-module (%exempt_header): Add exception for some
47579         conditionally-included headers.
47580
47581         * modules/i-ring (Depends-on): Add verify.
47582         (License): Change to LGPL.
47583
47584 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
47585
47586         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
47587         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
47588         and inttostr.h.  Use snprintf rather than uinttostr, so that
47589         LGPLed code doesn't depend on GPLed.
47590
47591 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
47592
47593         * modules/inline (License): Change from GPL to LGPL.
47594
47595 2006-11-17  Jim Meyering  <jim@meyering.net>
47596
47597         * modules/d-type (License): Switch to LGPL.
47598
47599 2006-11-15  Bruno Haible  <bruno@clisp.org>
47600
47601         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
47602
47603 2006-11-15  Eric Blake  <ebb9@byu.net>
47604
47605         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
47606         the module dependency.
47607
47608 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47609             Bruno Haible  <bruno@clisp.org>
47610
47611         * gnulib-tool (func_create_testdir): Add license consistency check.
47612
47613 2006-11-15  Eric Blake  <ebb9@byu.net>
47614
47615         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
47616         random "(cached)" in configure output.
47617
47618 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47619
47620         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
47621         test for conforming inttypes.h is both announced and cached.
47622
47623         * MODULES.html.sh (seen_modules, seen_files): New variables.
47624         (func_module): Rewrite to use a few less gnulib-tool and sed
47625         invocations.  Avoid a couple of quadratic algorithms for ...
47626         (missed_modules, missed_files): ... these, with ...
47627         (func_append, func_tmpdir): ... these new functions, from
47628         gnulib-tool.  Analogously, install traps for cleanup.
47629
47630         * tests/test-gc.c (main): Remove unused variables.
47631         * tests/test-read-file.c: Include stdlib.h, for 'free'.
47632
47633 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
47634
47635         * modules/inttostr (License): Change to LGPL.
47636
47637 2006-11-14  Eric Blake  <ebb9@byu.net>
47638
47639         * modules/tempname (License): Change to LGPL.
47640
47641 2006-11-14  Eric Blake  <ebb9@byu.net>
47642
47643         * doc/functions.texi (Function Portability): *printf functions on
47644         Cygwin now understand all POSIX size specifiers.
47645
47646 2006-11-14  Bruno Haible  <bruno@clisp.org>
47647
47648         * modules/c-ctype (License): Change to LGPL.
47649
47650 2006-11-12  Bruno Haible  <bruno@clisp.org>
47651
47652         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
47653         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
47654         for GNOME libraries, for which the include files are installed in
47655         subdirectories of $prefix/include.
47656
47657 2006-11-12  Bruno Haible  <bruno@clisp.org>
47658
47659         * m4/lib-link.m4: Require at least autoconf-2.54.
47660         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
47661         name to underscores for the --with option.
47662
47663 2006-11-13  Bruno Haible  <bruno@clisp.org>
47664
47665         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
47666         the tests directory.
47667         Reported by Ralf Wildenhues.
47668
47669 2006-11-13  Bruno Haible  <bruno@clisp.org>
47670
47671         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
47672         (func_emit_initmacro_end): Undo the override here.
47673         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
47674         Works around the famous automake error in coreutils.
47675
47676 2006-11-13  Eric Blake  <ebb9@byu.net>
47677
47678         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
47679         element, not its node.
47680
47681 2006-11-12  Bruno Haible  <bruno@clisp.org>
47682
47683         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
47684         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
47685
47686 2006-11-12  Bruno Haible  <bruno@clisp.org>
47687
47688         * gnulib-tool: New option --local-symlink.
47689         (func_usage): Document it.
47690         (lsymbolic): New variable.
47691         (func_import, func_create_testdir): If --symlink was not specified,
47692         test whether --local-symlink was specified and the file comes from
47693         the local_gnulib_dir.
47694
47695 2006-11-12  Bruno Haible  <bruno@clisp.org>
47696
47697         * gnulib-tool (func_ln): New function.
47698         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
47699
47700 2006-11-12  Bruno Haible  <bruno@clisp.org>
47701
47702         Finish support for source files in subdirectories.
47703         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
47704         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
47705         AUTOMAKE_OPTIONS.
47706         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
47707
47708 2006-11-12  Bruno Haible  <bruno@clisp.org>
47709
47710         * gnulib-tool (func_get_automake_snippet): Synthesize also an
47711         EXTRA_lib_SOURCES augmentation.
47712         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
47713
47714 2006-11-12  Jim Meyering  <jim@meyering.net>
47715
47716         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
47717         file descriptors.  This also averts a failure on systems with
47718         native openat support when a traversed directory lacks "x" access.
47719         * lib/fts_.h: Include "i-ring.h"
47720         (struct FTS) [fts_fd_ring]: New member.
47721         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
47722         (FCHDIR): Add parentheses.
47723         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
47724         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
47725         When descending, rather than simply closing the previous
47726         fts_cwd_fd value, push that file descriptor onto the ring.
47727         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
47728         (fts_open): Initialize the new fd_ring member.
47729         (fts_close): Clear the ring.
47730         (fts_safe_changedir): When possible, use our new fd_ring to skip
47731         the diropen and fstat and dev/ino comparison that would normally
47732         accompany a virtual `chdir ("..")'.
47733
47734         * modules/fts (Depends-on): Add i-ring.
47735         * modules/i-ring: New module.
47736         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
47737         * m4/i-ring.m4: New file.
47738
47739 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47740
47741         * gnulib-tool (func_create_testdir): Fix replacement of
47742         `build-aux' in configure.ac.  Run autotools in gltests
47743         subdirectory.
47744         (func_create_testdir, func_create_megatestdir, test): There is
47745         no need for '--force' in most autotool invocations in a new
47746         tree.  Actually fail the whole test if any of the tools, or the
47747         configure or make stages fail.
47748
47749         Sync from Automake.
47750         * build-aux/gnupload: Revert last change.  Add pointer to upload
47751         instructions of the GNU Maintenance Instructions.
47752         Suggestion by Karl Berry.
47753
47754 2006-11-10  Jim Meyering  <jim@meyering.net>
47755
47756         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
47757
47758 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
47759
47760         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
47761         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
47762         (bind_textdomain_codeset) [! ENABLE_NLS]:
47763         Evaluate all the arguments.  That way, callers get compatible behavior
47764         if the arguments have side effects.  Also, it avoids some GCC
47765         diagnostics in some cases; Joel E. Denny reported problems when Bison
47766         was configured with --enable-gcc-warnigs.
47767
47768 2006-11-10  Jim Meyering  <jim@meyering.net>
47769
47770         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
47771         relevant options in CFLAGS (like -O, -fno-inline) are taken into
47772         account.
47773
47774 2006-11-10  Jim Meyering  <jim@meyering.net>
47775
47776         * modules/inline: New file/module.
47777         * modules/xalloc (Files): Remove m4/inline.m4.
47778         (Depends-on): Add inline, instead.
47779         * modules/oset: Likewise.
47780         * modules/list: Likewise.
47781
47782 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
47783
47784         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
47785         Problem reported by Matthew Woehlke.
47786
47787 2006-11-09  Bruno Haible  <bruno@clisp.org>
47788
47789         * lib/tempname.c (gen_tempname): Remove variant that invokes
47790         __gen_tempname.
47791         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
47792         __gen_tempname.
47793
47794 2006-11-08  Bruno Haible  <bruno@clisp.org>
47795
47796         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
47797         to 'yes' instead of 'cross-compiling'.
47798
47799 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
47800
47801         * lib/quotearg.h (quotearg_free): New decl.
47802         * lib/quotearg.c (quotearg_free): New function.
47803         (slot0, nslots, slotvec0, slotvec):
47804         Now file-scope so that quotearg_free can get at them.
47805
47806 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47807
47808         Sync from Automake.
47809         * build-aux/gnupload: Add missing 'gnu' to example URL.
47810         Report by Karl Berry.
47811
47812 2006-11-08  Bruno Haible  <bruno@clisp.org>
47813
47814         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
47815         Suggested by Paul Eggert.
47816
47817 2006-11-08  Jim Meyering  <jim@meyering.net>
47818
47819         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
47820         It's already included if !_LIBC.
47821         (fts_safe_changedir): Add a comment.
47822
47823 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
47824
47825         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
47826         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
47827         Matthew Woehlke.
47828
47829         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
47830         definitions up, to avoid colliding with change below.
47831         (static_inline) [HAVE_INLINE]: New macro.
47832         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
47833         Provide extern decls when !HAVE_INLINE.  Do not define unless
47834         static_inline is defined, either by us or by xmalloc.c.  Use
47835         static_inline rather than static inline.
47836         (XCALLOC): Optimize sizeof(T) = 1 case.
47837         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
47838
47839 2006-11-07  Bruno Haible  <bruno@clisp.org>
47840
47841         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
47842         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
47843         AC_C_INLINE.
47844         * modules/xalloc (Files): Add m4/inline.m4.
47845
47846 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47847
47848         * README: Fix typo.
47849         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
47850         (Miscellanous Notes): ...from this.
47851
47852 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
47853
47854         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
47855         Mention that offsetof should be used instead of sizeof.
47856         From Bruno Haible.
47857
47858 2006-11-07  Bruno Haible  <bruno@clisp.org>
47859
47860         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
47861
47862 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
47863
47864         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
47865         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
47866         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
47867         (gl_tree_add_before, gl_tree_add_after):
47868         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
47869         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
47870         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
47871         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
47872         (gl_linked_add_after, gl_linked_add_at): Likewise.
47873         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
47874         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
47875         (gl_tree_add_before, gl_tree_add_after): Likewise.
47876         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
47877         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
47878         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
47879
47880 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47881
47882         * lib/gl_oset.h: Use C comment style, not C++ comment style.
47883
47884 2006-11-06  Bruno Haible  <bruno@clisp.org>
47885
47886         * m4/inline.m4: New file.
47887         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
47888         * modules/list (Files): Add m4/inline.m4.
47889         * modules/oset (Files): Likewise.
47890
47891 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
47892
47893         * lib/idcache.c: Include <stddef.h>, for offsetof.
47894         (struct userid.name): Change from char * to a flexible array member.
47895         All uses changed.
47896         * modules/idcache (Depends-on): Add flexmember.
47897
47898         * MODULES.html.sh (Core language properties): New module flexmember.
47899         * modules/flexmember, m4/flexmember.m4: New files.
47900
47901         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
47902         inline functions that are identical with the old xnmalloc_inline,
47903         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
47904         that we can avoid some unnecessary integer multiplications and
47905         divisions in the common case where the element size is known at
47906         compile time.
47907         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
47908         needed.
47909         (xnboundedmalloc): Remove.
47910         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
47911         arguments, for consistency with rest of this header.
47912         (xcharalloc): Rewrite using XNMALLOC.
47913         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
47914         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
47915         versions have been moved to lib/xalloc.h and renamed to be the
47916         non-*_inline versions.
47917         (xmalloc, xrealloc): Implement without reference to the xnmalloc
47918         and xnrealloc functions, since those functions are now inline and
47919         now call us.
47920         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
47921         renaming described above.
47922         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
47923         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
47924         captures the dependency in AC_C_INLINE.
47925
47926         New module canonicalize-lgpl, proposed by Charles Wilson in
47927         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
47928         with a few small changes afterwards.
47929         * MODULES.html.sh (File system functions): New module
47930         canonicalize-lgpl.
47931         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
47932         and canonicalize_file_name.
47933         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
47934         * modules/canonicalize-lgpl: New files.
47935
47936 2006-11-05  Bruno Haible  <bruno@clisp.org>
47937
47938         * gnulib-tool (func_import, func_create_testdir): Create directories
47939         also for files in subdirectories of lib/.
47940
47941 2006-11-05  Bruno Haible  <bruno@clisp.org>
47942
47943         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
47944         ANSI C compliant.
47945
47946 2006-11-03  Bruno Haible  <bruno@clisp.org>
47947
47948         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
47949         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
47950         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
47951         (xnboundedmalloc): New inline function.
47952         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
47953         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
47954         xmalloc.
47955         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
47956         xmalloc.
47957         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
47958         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
47959         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
47960         xmalloc.
47961         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
47962         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
47963         xmalloc.
47964         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
47965         gl_tree_add_after): Use XMALLOC instead of xmalloc.
47966         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
47967         xmalloc.
47968         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
47969         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
47970         gl_tree_add_after): Use XMALLOC instead of xmalloc.
47971         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
47972         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
47973         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
47974         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
47975
47976 2006-11-03  Bruno Haible  <bruno@clisp.org>
47977
47978         * lib/c-ctype.h [C++]: Define functions without name mangling.
47979         * lib/fwriteerror.h [C++]: Likewise.
47980         * lib/gcd.h [C++]: Likewise.
47981         * lib/linebreak.h [C++]: Likewise.
47982
47983 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
47984
47985         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
47986         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
47987         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
47988         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
47989         Check for functions and headers just once.
47990         Check for declaration of canonicalize_file_name.
47991         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
47992
47993 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
47994
47995         * gnulib-tool (func_import): Fix typo in actioncmd.
47996
47997 2006-11-02  Bruno Haible  <bruno@clisp.org>
47998
47999         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
48000         newline sequence in the Makefile.am snippet as a space, like "make"
48001         does.
48002         Reported by Roger Persson <perrog@gmail.com>.
48003
48004 2006-11-01  Bruno Haible  <bruno@clisp.org>
48005
48006         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
48007         already declared in <string.h>.
48008         * lib/strcase.h (strncasecmp): Don't declare it if yes.
48009
48010 2006-11-01  Bruno Haible  <bruno@clisp.org>
48011
48012         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
48013         * lib/strcase.h: Include <string.h>.
48014         (strcasecmp): Define to rpl_strcasecmp here.
48015
48016 2006-11-01  Bruno Haible  <bruno@clisp.org>
48017
48018         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
48019
48020 2006-11-01  Eric Blake  <ebb9@byu.net>
48021
48022         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
48023
48024         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
48025
48026 2006-10-29  Bruno Haible  <bruno@clisp.org>
48027
48028         Make it compile in C++ mode.
48029         * lib/full-write.c (full_rw): Add a cast.
48030
48031 2006-11-01  Bruno Haible  <bruno@clisp.org>
48032
48033         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
48034         be POSIX compliant.
48035         Reported by Roger Persson <perrog@gmail.com>.
48036
48037 2006-11-01  Eric Blake  <ebb9@byu.net>
48038
48039         * lib/getopt_.h: Fix comments.
48040
48041 2006-10-31  Eric Blake  <ebb9@byu.net>
48042
48043         * modules/tmpdir (Depends-on): Add sys_stat.
48044         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
48045         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
48046         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
48047         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
48048         tempname.
48049
48050 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
48051
48052         Avoid some C++ diagnostics reported by Bruno Haible.
48053         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
48054         xmalloc.
48055         (quotearg_alloc): Use xcharalloc rather than xmalloc.
48056         (struct slotvec): Move to top level.
48057         (quotearg_n_options): Rewrite to avoid xmalloc.
48058         * lib/xalloc.h (xcharalloc): New function.
48059         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
48060         [defined __cplusplus]: Add function template that provides result
48061         type propagation.  This part of the change is from Bruno Haible.
48062
48063 2006-10-29  Bruno Haible  <bruno@clisp.org>
48064
48065         Make it compile in C++ mode.
48066         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
48067         * lib/strnlen1.c (strnlen1): Cast memchr result.
48068         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
48069         * lib/clean-temp.c (string_equals, string_hash): Add casts.
48070         (create_temp_dir): Rename local variable 'template'.
48071         (compile_csharp_using_sscli): Add cast.
48072         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
48073         * lib/findprog.c (find_in_path): Likewise.
48074         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
48075         * lib/wait-process.c (register_slave_subprocess): Likewise.
48076
48077 2006-10-22  Bruno Haible  <bruno@clisp.org>
48078
48079         * modules/tsearch: New file.
48080         * lib/tsearch.h: New file.
48081         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
48082         * m4/tsearch.m4: New file.
48083         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
48084
48085 2006-10-29  Eric Blake  <ebb9@byu.net>
48086
48087         * lib/arcfour.c: Assume config.h.
48088         * lib/arctwo.c: Likewise.
48089         * lib/base64.c: Likewise.
48090         * lib/check-version.c: Likewise.
48091         * lib/crc.c: Likewise.
48092         * lib/des.c: Likewise.
48093         * lib/gc-gnulib.c: Likewise.
48094         * lib/gc-libgcrypt.c: Likewise.
48095         * lib/gc-pbkdf2-sha1.c: Likewise.
48096         * lib/getaddrinfo.c: Likewise.
48097         * lib/getdelim.c: Likewise.
48098         * lib/getline.c: Likewise.
48099         * lib/hmac-md5.c: Likewise.
48100         * lib/hmac-sha1.c: Likewise.
48101         * lib/iconvme.c: Likewise.
48102         * lib/md2.c: Likewise.
48103         * lib/md4.c: Likewise.
48104         * lib/memxor.c: Likewise.
48105         * lib/read-file.c: Likewise.
48106         * lib/readline.c: Likewise.
48107         * lib/rijndael-alg-fst.c: Likewise.
48108         * lib/rijndael-api-fst.c: Likewise.
48109         * lib/xgetdomainname.c: Likewise.
48110
48111 2006-10-28  Eric Blake  <ebb9@byu.net>
48112
48113         * lib/xstrndup.c: Assume config.h.
48114
48115 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
48116
48117         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
48118         stat-macros.h is now for our own macros, whereas stat_h is for
48119         macros in the <sys/stat.h> name space.
48120         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
48121         (STAT_MACROS_H): Remove.
48122         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
48123         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
48124         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
48125         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
48126         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
48127         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
48128         Move these macros to ...
48129         * lib/stat_.h: here.  Don't include stat-macros.h.
48130         * lib/canonicalize.c: Don't include stat-macros.h.
48131         * lib/chown.c: Likewise.
48132         * lib/euidaccess.c: Likewise.
48133         * lib/file-type.c: Likewise.
48134         * lib/filemode.c: Likewise.
48135         * lib/glob.c: Likewise.
48136         * lib/isapipe.c: Likewise.
48137         * lib/lchown.c: Likewise.
48138         * lib/lstat.c: Likewise.
48139         * lib/mkdir-p.c: Likewise.
48140         * lib/rmdir.c: Likewise.
48141         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
48142         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
48143         unless mkdir isn't declared, to speed up 'configure'.
48144         Always create sys/stat.h, since it's unlikely any real sys/stat.h
48145         would define all the S_* symbols.
48146         * modules/canonicalize (Depends-on):
48147         Depend on sys_stat, not stat-macros.
48148         * modules/chown: Likewise.
48149         * modules/euidaccess: Likewise.
48150         * modules/filemode: Likewise.
48151         * modules/file-type: Likewise.
48152         * modules/glob: Likewise.
48153         * modules/isapipe: Likewise.
48154         * modules/lchown: Likewise.
48155         * modules/lstat: Likewise.
48156         * modules/mkancesdirs: Likewise.
48157         * modules/rmdir: Likewise.
48158         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
48159         * modules/modechange: Likewise.
48160         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
48161         (configure.ac): Remove gl_STAT_MACROS.
48162         * modules/sys_stat (Depends-on): Remove stat-macros.
48163
48164 2006-10-27  Bruno Haible  <bruno@clisp.org>
48165
48166         * m4/signed.m4: Remove file.
48167         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
48168         invocation.
48169         * modules/vasnprintf (Files): Remove m4/signed.m4.
48170
48171 2006-10-27  Bruno Haible  <bruno@clisp.org>
48172
48173         Update to GNU gettext 0.16.
48174         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
48175         m4/inttypes-h.m4, m4/signed.m4.
48176         * m4/gettext.m4: Update to GNU gettext 0.16.
48177         * m4/intl.m4: New file, from GNU gettext.
48178         * m4/intldir.m4: New file, from GNU gettext.
48179         * config/srclist.txt: Update
48180
48181 2006-10-27  Eric Blake  <ebb9@byu.net>
48182
48183         * MODULES.html.sh: Document tempname.
48184         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
48185         dependencies.
48186         (Files): Move lib/tempname.c...
48187         * modules/tempname: ...to this new module.
48188         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
48189         (gl_PREREQ_TEMPNAME): Move...
48190         * m4/tempname.m4: ...to this new file.
48191         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
48192         * modules/sys_stat (Depends-on): Add stat-macros.
48193         * lib/stat_.h (includes): Pick up stat macros.
48194         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
48195         if stat macros are broken.
48196         * lib/tempname.c (includes): No need to include "stat-macros.h".
48197         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
48198         (direxists, __path_search) [!_LIBC]: Don't compile these in
48199         gnulib; the tmpdir module covers that.
48200         * lib/tempname.h: New file.
48201
48202 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
48203
48204         * COPYING: Explain how gnulib-tool converts licence headers.
48205         Almost all wording by Eric Blake.
48206
48207 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
48208
48209         * lib/mbchar.h (is_basic_table): Make read-only.
48210         * lib/mbchar.c (is_basic_table): Likewise.
48211         Reported by John Darrington.
48212
48213 2006-10-25  Bruno Haible  <bruno@clisp.org>
48214
48215         * lib/progname.h (set_program_name): Undefine before defining.
48216
48217 2006-10-25  Bruno Haible  <bruno@clisp.org>
48218
48219         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
48220         false for non-gcc C++ compilers.
48221         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
48222
48223 2006-10-24  Bruno Haible  <bruno@clisp.org>
48224
48225         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
48226         iconv implementations like Irix iconv.
48227
48228 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
48229
48230         * modules/vararrays: New file.
48231         * m4/vararrays.m4: New file, taken from diffutils.
48232         * MODULES.html.sh: New module vararrays.
48233
48234 2006-10-24  Karl Berry  <karl@gnu.org>
48235
48236         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
48237         Don't call GNU Unix.
48238
48239 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48240
48241         * users.txt: Add Libtool.
48242
48243         Sync from Libtool:
48244
48245         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
48246
48247         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
48248         to gnulib's policy of including config.h unconditionally.
48249
48250 2006-10-24  Bruno Haible  <bruno@clisp.org>
48251
48252         * modules/wcwidth (Files): Add m4/wint_t.m4.
48253         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
48254         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
48255
48256 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
48257
48258         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
48259         to pacify GCC with some -W flags enabled.  Problem reported by
48260         Bruno Haible.
48261
48262 2006-10-24  Jim Meyering  <jim@meyering.net>
48263
48264         * MODULES.html.sh: Remove uinttostr.  It's not a module.
48265         Reported by Karl Berry.
48266
48267 2006-10-23  Bruno Haible  <bruno@clisp.org>
48268
48269         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
48270
48271 2006-10-24  Bruno Haible  <bruno@clisp.org>
48272
48273         * lib/gl_list.h: Use C comment style, not C++ comment style.
48274
48275 2006-10-23  Eric Blake  <ebb9@byu.net>
48276
48277         * lib/getaddrinfo.c (includes): Add missing include.
48278
48279 2006-10-23  Bruno Haible  <bruno@clisp.org>
48280             Paul Eggert  <eggert@cs.ucla.edu>
48281
48282         Ability to rename obstack_free.
48283         * lib/obstack.h (__obstack_free): New macro. Declare instead of
48284         obstack_free.
48285         (obstack_free): Invoke the __obstack_free macro.
48286         * lib/obstack.c (obstack_free): Use __obstack_free macro.
48287
48288 2006-10-23  Bruno Haible  <bruno@clisp.org>
48289             Paul Eggert  <eggert@cs.ucla.edu>
48290
48291         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
48292         __argc, __argv from the declaration. (They are defined as macros on
48293         mingw.)
48294
48295 2006-10-22  Bruno Haible  <bruno@clisp.org>
48296
48297         * doc/gnulib-intro.texi: New file.
48298         * doc/gnulib.texi: Include it.
48299
48300 2006-10-21  Bruno Haible  <bruno@clisp.org>
48301
48302         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
48303         "Introduction", "Miscellanous Notes", "Particular Modules".
48304
48305 2006-10-21  Bruno Haible  <bruno@clisp.org>
48306
48307         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
48308         Change mostlyclean-local rule to avoid sh syntax error from bash
48309         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
48310
48311 2006-10-23  Jim Meyering  <jim@meyering.net>
48312
48313         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
48314         in place of snprintf.
48315
48316         * modules/inttostr (Files): Add lib/uinttostr.c.
48317         * lib/uinttostr.c (inttostr): New file/function.
48318         * lib/inttostr.h (uinttostr): Declare.
48319         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
48320         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
48321         Add uinttostr.
48322         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
48323
48324 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
48325
48326         * lib/canonicalize.c (ELOOP): Define if not already defined.
48327         Problem reported by Bruno Haible in
48328         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
48329
48330 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
48331
48332         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
48333         Problem reported by Perry Smith and Ville Laurikari.
48334
48335         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
48336         uses.
48337
48338 2006-10-19  Bruno Haible  <bruno@clisp.org>
48339
48340         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
48341         for mingw.
48342
48343 2006-10-19  Bruno Haible  <bruno@clisp.org>
48344
48345         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
48346         Needed for mingw.
48347
48348 2006-10-19  Bruno Haible  <bruno@clisp.org>
48349
48350         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
48351
48352 2006-10-19  Bruno Haible  <bruno@clisp.org>
48353
48354         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
48355         it.
48356
48357 2006-10-19  Bruno Haible  <bruno@clisp.org>
48358
48359         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
48360         invocation.
48361
48362 2006-10-19  Bruno Haible  <bruno@clisp.org>
48363
48364         * gnulib-tool (func_create_testdir): Don't include ftruncate and
48365         mountlist by default.
48366
48367 2006-10-16  Bruno Haible  <bruno@clisp.org>
48368
48369         * lib/c-strstr.c: Include c-strstr.h.
48370
48371 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
48372
48373         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
48374         in a slash.
48375
48376 2006-10-18  Bruno Haible  <bruno@clisp.org>
48377
48378         * lib/lock.h [C++]: Wrap definitions in extern "C".
48379
48380 2006-10-18  Bruno Haible  <bruno@clisp.org>
48381
48382         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
48383         gl_LIBOBJS list.
48384
48385 2006-10-18  Bruno Haible  <bruno@clisp.org>
48386
48387         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
48388
48389 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
48390
48391         * lib/xstrtol.h: Include gettext.h.
48392         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
48393         Problem reported by Eric Blake.
48394         * modules/xstrtol (Depends-on): Add gettext-h.
48395
48396 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
48397
48398         * lib/strftime.c (advance): New macro.
48399         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
48400         incomplete type, so you can't add 0 to it.  Problem and patch
48401         reported by Eelco Dolstra for dietlibc.
48402
48403 2006-10-18  Jim Meyering  <jim@meyering.net>
48404
48405         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
48406         type for a local, and rename it: s/up/user_proc/.
48407
48408 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
48409
48410         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
48411         READ_UTMP_USER_PROCESS.
48412         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
48413
48414 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
48415
48416         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
48417         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
48418
48419 2006-10-17  Eric Blake  <ebb9@byu.net>
48420
48421         * lib/sigprocmask.c (sigprocmask): Fix typo.
48422
48423         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
48424
48425         * modules/clean-temp (Makefile.am): Don't add to make output...
48426         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
48427         config.h.
48428
48429 2006-10-17  Bruno Haible  <bruno@clisp.org>
48430
48431         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
48432         differently if DEFAULT_TEXT_DOMAIN is set.
48433
48434 2006-10-16  Bruno Haible  <bruno@clisp.org>
48435
48436         * lib/clean-temp.c: Include fwriteerror.h.
48437
48438 2006-10-16  Bruno Haible  <bruno@clisp.org>
48439
48440         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
48441
48442 2006-10-16  Bruno Haible  <bruno@clisp.org>
48443
48444         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
48445         * lib/sigprocmask.h: Include <sys/types.h>.
48446         (sigset_t): Use the system's definition if present.
48447
48448 2006-10-17  Eric Blake  <ebb9@byu.net>
48449
48450         * lib/xvasprintf.c (includes): Assume config.h.
48451         * lib/xasprintf.c (includes): Likewise.
48452
48453 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
48454
48455         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
48456         at least as wide as intmax_t.
48457
48458 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
48459
48460         (Imported from Automake.)
48461         * build-aux/gnupload: Update to version 1.1 of directive file.
48462
48463 2006-10-16  Eric Blake  <ebb9@byu.net>
48464
48465         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
48466         match Automake 1.10a.
48467
48468 2006-10-14  Bruno Haible  <bruno@clisp.org>
48469
48470         * modules/sigprocmask: New file.
48471         * lib/sigprocmask.h: New file.
48472         * lib/sigprocmask.c: New file.
48473         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
48474         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
48475         request sigprocmask.o.
48476         (gl_PREREQ_SIGPROCMASK): New macro.
48477         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
48478         (Depends-on): Add sigprocmask.
48479         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
48480         gt_SIGNALBLOCKING. Test for 'raise' only once.
48481         * lib/fatal-signal.c: Include sigprocmask.h.
48482         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
48483         unblock_fatal_signals): Define always.
48484         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
48485         sigprocmask.
48486
48487 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
48488
48489         Sync from Automake.
48490         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
48491         which incorrectly sets the mode of an existing destination
48492         directory.  In some cases the unpatched install-sh could do the
48493         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
48494         system.  We hope this is rare in practice, but it's clearly worth
48495         fixing.  Problem reported by Alex Unleashed in
48496         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
48497         Also, don't bother to check for -m bugs unless we're using -m;
48498         suggested by Stepan Kasal.
48499
48500 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48501
48502         Sync from Automake.
48503         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
48504         `-c' flag, so they appear at the same position as in %FASTDEP%
48505         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
48506         which ignores unknown options only after the first non-option.
48507         Bug report against M4 by Nelson H. F. Beebe.
48508
48509 2006-10-13  Jim Meyering  <jim@meyering.net>
48510
48511         Fix a bug in yesterday's change.
48512         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
48513         p->fts_statp->st_dev would be used uninitialized.
48514         Ensures that we always call fts_stat on the very first entry.
48515         Miklos Szeredi reported that find -xdev stopped working.
48516
48517 2006-10-12  Bruno Haible  <bruno@clisp.org>
48518
48519         * gnulib-tool (func_get_automake_snippet): Append an automatically
48520         computed EXTRA_DIST augmentation.
48521         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
48522         * modules/alloca-opt (Makefile.am): Likewise.
48523         * modules/allocsa (Makefile.am): Likewise.
48524         * modules/arcfour (Makefile.am): Likewise.
48525         * modules/arctwo (Makefile.am): Likewise.
48526         * modules/argmatch (Makefile.am): Likewise.
48527         * modules/argz (Makefile.am): Likewise.
48528         * modules/atexit (Makefile.am): Likewise.
48529         * modules/backupfile (Makefile.am): Likewise.
48530         * modules/byteswap (Makefile.am): Likewise.
48531         * modules/c-strtod (Makefile.am): Likewise.
48532         * modules/c-strtold (Makefile.am): Likewise.
48533         * modules/calloc (Makefile.am): Likewise.
48534         * modules/canon-host (Makefile.am): Likewise.
48535         * modules/canonicalize (Makefile.am): Likewise.
48536         * modules/chdir-long (Makefile.am): Likewise.
48537         * modules/chdir-safer (Makefile.am): Likewise.
48538         * modules/check-version (Makefile.am): Likewise.
48539         * modules/chown (Makefile.am): Likewise.
48540         * modules/cloexec (Makefile.am): Likewise.
48541         * modules/close-stream (Makefile.am): Likewise.
48542         * modules/closeout (Makefile.am): Likewise.
48543         * modules/crc (Makefile.am): Likewise.
48544         * modules/csharpexec (Makefile.am): Likewise.
48545         * modules/cycle-check (Makefile.am): Likewise.
48546         * modules/des (Makefile.am): Likewise.
48547         * modules/dev-ino (Makefile.am): Likewise.
48548         * modules/dirfd (Makefile.am): Likewise.
48549         * modules/dirname (Makefile.am): Likewise.
48550         * modules/dup2 (Makefile.am): Likewise.
48551         * modules/eealloc (Makefile.am): Likewise.
48552         * modules/error (Makefile.am): Likewise.
48553         * modules/euidaccess (Makefile.am): Likewise.
48554         * modules/exclude (Makefile.am): Likewise.
48555         * modules/exitfail (Makefile.am): Likewise.
48556         * modules/fcntl-safer (Makefile.am): Likewise.
48557         * modules/fcntl (Makefile.am): Likewise.
48558         * modules/file-type (Makefile.am): Likewise.
48559         * modules/fileblocks (Makefile.am): Likewise.
48560         * modules/filemode (Makefile.am): Likewise.
48561         * modules/filenamecat (Makefile.am): Likewise.
48562         * modules/fnmatch (Makefile.am): Likewise.
48563         * modules/fopen-safer (Makefile.am): Likewise.
48564         * modules/fpending (Makefile.am): Likewise.
48565         * modules/fprintftime (Makefile.am): Likewise.
48566         * modules/free (Makefile.am): Likewise.
48567         * modules/fsusage (Makefile.am): Likewise.
48568         * modules/ftruncate (Makefile.am): Likewise.
48569         * modules/fts (Makefile.am): Likewise.
48570         * modules/gc-arcfour (Makefile.am): Likewise.
48571         * modules/gc-des (Makefile.am): Likewise.
48572         * modules/gc-hmac-md5 (Makefile.am): Likewise.
48573         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
48574         * modules/gc-md4 (Makefile.am): Likewise.
48575         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
48576         * modules/gc-sha1 (Makefile.am): Likewise.
48577         * modules/gc (Makefile.am): Likewise.
48578         * modules/getaddrinfo (Makefile.am): Likewise.
48579         * modules/getcwd (Makefile.am): Likewise.
48580         * modules/getdelim (Makefile.am): Likewise.
48581         * modules/getdomainname (Makefile.am): Likewise.
48582         * modules/getgroups (Makefile.am): Likewise.
48583         * modules/gethostname (Makefile.am): Likewise.
48584         * modules/gethrxtime (Makefile.am): Likewise.
48585         * modules/getline (Makefile.am): Likewise.
48586         * modules/getloadavg (Makefile.am): Likewise.
48587         * modules/getlogin_r (Makefile.am): Likewise.
48588         * modules/getndelim2 (Makefile.am): Likewise.
48589         * modules/getopt (Makefile.am): Likewise.
48590         * modules/getpagesize (Makefile.am): Likewise.
48591         * modules/getpass-gnu (Makefile.am): Likewise.
48592         * modules/getpass (Makefile.am): Likewise.
48593         * modules/getsubopt (Makefile.am): Likewise.
48594         * modules/gettime (Makefile.am): Likewise.
48595         * modules/gettimeofday (Makefile.am): Likewise.
48596         * modules/getugroups (Makefile.am): Likewise.
48597         * modules/getusershell (Makefile.am): Likewise.
48598         * modules/glob (Makefile.am): Likewise.
48599         * modules/group-member (Makefile.am): Likewise.
48600         * modules/hard-locale (Makefile.am): Likewise.
48601         * modules/hash (Makefile.am): Likewise.
48602         * modules/hmac-md5 (Makefile.am): Likewise.
48603         * modules/hmac-sha1 (Makefile.am): Likewise.
48604         * modules/human (Makefile.am): Likewise.
48605         * modules/idcache (Makefile.am): Likewise.
48606         * modules/imaxabs (Makefile.am): Likewise.
48607         * modules/imaxdiv (Makefile.am): Likewise.
48608         * modules/inet_ntop (Makefile.am): Likewise.
48609         * modules/inet_pton (Makefile.am): Likewise.
48610         * modules/intprops (Makefile.am): Likewise.
48611         * modules/inttostr (Makefile.am): Likewise.
48612         * modules/inttypes (Makefile.am): Likewise.
48613         * modules/isapipe (Makefile.am): Likewise.
48614         * modules/javaversion (Makefile.am): Likewise.
48615         * modules/lchmod (Makefile.am): Likewise.
48616         * modules/lchown (Makefile.am): Likewise.
48617         * modules/localcharset (Makefile.am): Likewise.
48618         * modules/long-options (Makefile.am): Likewise.
48619         * modules/lstat (Makefile.am): Likewise.
48620         * modules/malloc (Makefile.am): Likewise.
48621         * modules/mathl (Makefile.am): Likewise.
48622         * modules/mbchar (Makefile.am): Likewise.
48623         * modules/md2 (Makefile.am): Likewise.
48624         * modules/md4 (Makefile.am): Likewise.
48625         * modules/md5 (Makefile.am): Likewise.
48626         * modules/memcasecmp (Makefile.am): Likewise.
48627         * modules/memchr (Makefile.am): Likewise.
48628         * modules/memcmp (Makefile.am): Likewise.
48629         * modules/memcoll (Makefile.am): Likewise.
48630         * modules/memcpy (Makefile.am): Likewise.
48631         * modules/memmem (Makefile.am): Likewise.
48632         * modules/memmove (Makefile.am): Likewise.
48633         * modules/mempcpy (Makefile.am): Likewise.
48634         * modules/memrchr (Makefile.am): Likewise.
48635         * modules/memset (Makefile.am): Likewise.
48636         * modules/memxor (Makefile.am): Likewise.
48637         * modules/mkancesdirs (Makefile.am): Likewise.
48638         * modules/mkdir-p (Makefile.am): Likewise.
48639         * modules/mkdir (Makefile.am): Likewise.
48640         * modules/mkdtemp (Makefile.am): Likewise.
48641         * modules/mkstemp (Makefile.am): Likewise.
48642         * modules/mktime (Makefile.am): Likewise.
48643         * modules/modechange (Makefile.am): Likewise.
48644         * modules/mountlist (Makefile.am): Likewise.
48645         * modules/nanosleep (Makefile.am): Likewise.
48646         * modules/obstack (Makefile.am): Likewise.
48647         * modules/openat (Makefile.am): Likewise.
48648         * modules/pagealign_alloc (Makefile.am): Likewise.
48649         * modules/pathmax (Makefile.am): Likewise.
48650         * modules/physmem (Makefile.am): Likewise.
48651         * modules/poll (Makefile.am): Likewise.
48652         * modules/posixtm (Makefile.am): Likewise.
48653         * modules/posixver (Makefile.am): Likewise.
48654         * modules/putenv (Makefile.am): Likewise.
48655         * modules/quote (Makefile.am): Likewise.
48656         * modules/quotearg (Makefile.am): Likewise.
48657         * modules/raise (Makefile.am): Likewise.
48658         * modules/read-file (Makefile.am): Likewise.
48659         * modules/readline (Makefile.am): Likewise.
48660         * modules/readlink (Makefile.am): Likewise.
48661         * modules/readtokens (Makefile.am): Likewise.
48662         * modules/readutmp (Makefile.am): Likewise.
48663         * modules/realloc (Makefile.am): Likewise.
48664         * modules/regex (Makefile.am): Likewise.
48665         * modules/rename-dest-slash (Makefile.am): Likewise.
48666         * modules/rename (Makefile.am): Likewise.
48667         * modules/rijndael (Makefile.am): Likewise.
48668         * modules/rmdir (Makefile.am): Likewise.
48669         * modules/rpmatch (Makefile.am): Likewise.
48670         * modules/safe-read (Makefile.am): Likewise.
48671         * modules/safe-write (Makefile.am): Likewise.
48672         * modules/same-inode (Makefile.am): Likewise.
48673         * modules/same (Makefile.am): Likewise.
48674         * modules/save-cwd (Makefile.am): Likewise.
48675         * modules/savedir (Makefile.am): Likewise.
48676         * modules/setenv (Makefile.am): Likewise.
48677         * modules/settime (Makefile.am): Likewise.
48678         * modules/sha1 (Makefile.am): Likewise.
48679         * modules/sig2str (Makefile.am): Likewise.
48680         * modules/snprintf (Makefile.am): Likewise.
48681         * modules/stat-macros (Makefile.am): Likewise.
48682         * modules/stat-time (Makefile.am): Likewise.
48683         * modules/stdbool (Makefile.am): Likewise.
48684         * modules/stdint (Makefile.am): Likewise.
48685         * modules/stdlib-safer (Makefile.am): Likewise.
48686         * modules/stpcpy (Makefile.am): Likewise.
48687         * modules/stpncpy (Makefile.am): Likewise.
48688         * modules/strcase (Makefile.am): Likewise.
48689         * modules/strcasestr (Makefile.am): Likewise.
48690         * modules/strchrnul (Makefile.am): Likewise.
48691         * modules/strcspn (Makefile.am): Likewise.
48692         * modules/strdup (Makefile.am): Likewise.
48693         * modules/strerror (Makefile.am): Likewise.
48694         * modules/strftime (Makefile.am): Likewise.
48695         * modules/strndup (Makefile.am): Likewise.
48696         * modules/strnlen (Makefile.am): Likewise.
48697         * modules/strpbrk (Makefile.am): Likewise.
48698         * modules/strsep (Makefile.am): Likewise.
48699         * modules/strstr (Makefile.am): Likewise.
48700         * modules/strtod (Makefile.am): Likewise.
48701         * modules/strtoimax (Makefile.am): Likewise.
48702         * modules/strtok_r (Makefile.am): Likewise.
48703         * modules/strtol (Makefile.am): Likewise.
48704         * modules/strtoll (Makefile.am): Likewise.
48705         * modules/strtoul (Makefile.am): Likewise.
48706         * modules/strtoull (Makefile.am): Likewise.
48707         * modules/strtoumax (Makefile.am): Likewise.
48708         * modules/strverscmp (Makefile.am): Likewise.
48709         * modules/sys_socket (Makefile.am): Likewise.
48710         * modules/sys_stat (Makefile.am): Likewise.
48711         * modules/sysexits (Makefile.am): Likewise.
48712         * modules/time_r (Makefile.am): Likewise.
48713         * modules/timegm (Makefile.am): Likewise.
48714         * modules/timespec (Makefile.am): Likewise.
48715         * modules/tmpfile-safer (Makefile.am): Likewise.
48716         * modules/trim (Makefile.am): Likewise.
48717         * modules/unistd-safer (Makefile.am): Likewise.
48718         * modules/unlinkdir (Makefile.am): Likewise.
48719         * modules/unlocked-io (Makefile.am): Likewise.
48720         * modules/userspec (Makefile.am): Likewise.
48721         * modules/utime (Makefile.am): Likewise.
48722         * modules/utimecmp (Makefile.am): Likewise.
48723         * modules/utimens (Makefile.am): Likewise.
48724         * modules/vasnprintf (Makefile.am): Likewise.
48725         * modules/vasprintf (Makefile.am): Likewise.
48726         * modules/vsnprintf (Makefile.am): Likewise.
48727         * modules/xalloc (Makefile.am): Likewise.
48728         * modules/xgetcwd (Makefile.am): Likewise.
48729         * modules/xnanosleep (Makefile.am): Likewise.
48730         * modules/xreadlink (Makefile.am): Likewise.
48731         * modules/xstrtod (Makefile.am): Likewise.
48732         * modules/xstrtol (Makefile.am): Likewise.
48733         * modules/xstrtold (Makefile.am): Likewise.
48734         * modules/yesno (Makefile.am): Likewise.
48735         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
48736
48737 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
48738
48739         * modules/error (Makefile.am): Distribute files through
48740         EXTRA_DIST, not lib_SOURCES.
48741
48742 2006-10-12  Eric Blake  <ebb9@byu.net>
48743
48744         * modules/error (Makefile.am): Distribute files in /lib.
48745         * modules/obstack (Makefile.am): Likewise.
48746
48747 2006-10-12  Bruno Haible  <bruno@clisp.org>
48748
48749         * modules/acl (Makefile.am): Distribute all files in lib/ through
48750         EXTRA_DIST.
48751         * modules/arcfour (Makefile.am): Likewise.
48752         * modules/arctwo (Makefile.am): Likewise.
48753         * modules/argmatch (Makefile.am): Likewise.
48754         * modules/argz (Makefile.am): Likewise.
48755         * modules/atexit (Makefile.am): Likewise.
48756         * modules/backupfile (Makefile.am): Likewise.
48757         * modules/c-strtod (Makefile.am): Likewise.
48758         * modules/c-strtold (Makefile.am): Likewise.
48759         * modules/calloc (Makefile.am): Likewise.
48760         * modules/canon-host (Makefile.am): Likewise.
48761         * modules/canonicalize (Makefile.am): Likewise.
48762         * modules/chdir-long (Makefile.am): Likewise.
48763         * modules/chdir-safer (Makefile.am): Likewise.
48764         * modules/check-version (Makefile.am): Likewise.
48765         * modules/chown (Makefile.am): Likewise.
48766         * modules/cloexec (Makefile.am): Likewise.
48767         * modules/close-stream (Makefile.am): Likewise.
48768         * modules/closeout (Makefile.am): Likewise.
48769         * modules/crc (Makefile.am): Likewise.
48770         * modules/cycle-check (Makefile.am): Likewise.
48771         * modules/des (Makefile.am): Likewise.
48772         * modules/dirfd (Makefile.am): Likewise.
48773         * modules/dirname (Makefile.am): Likewise.
48774         * modules/dup2 (Makefile.am): Likewise.
48775         * modules/euidaccess (Makefile.am): Likewise.
48776         * modules/exclude (Makefile.am): Likewise.
48777         * modules/exitfail (Makefile.am): Likewise.
48778         * modules/fcntl-safer (Makefile.am): Likewise.
48779         * modules/file-type (Makefile.am): Likewise.
48780         * modules/fileblocks (Makefile.am): Likewise.
48781         * modules/filemode (Makefile.am): Likewise.
48782         * modules/filenamecat (Makefile.am): Likewise.
48783         * modules/fnmatch (Makefile.am): Likewise.
48784         * modules/fopen-safer (Makefile.am): Likewise.
48785         * modules/fpending (Makefile.am): Likewise.
48786         * modules/fprintftime (Makefile.am): Likewise.
48787         * modules/free (Makefile.am): Likewise.
48788         * modules/fsusage (Makefile.am): Likewise.
48789         * modules/ftruncate (Makefile.am): Likewise.
48790         * modules/fts (Makefile.am): Likewise.
48791         * modules/gc (Makefile.am): Likewise.
48792         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
48793         * modules/getaddrinfo (Makefile.am): Likewise.
48794         * modules/getcwd (Makefile.am): Likewise.
48795         * modules/getdelim (Makefile.am): Likewise.
48796         * modules/getdomainname (Makefile.am): Likewise.
48797         * modules/getgroups (Makefile.am): Likewise.
48798         * modules/gethostname (Makefile.am): Likewise.
48799         * modules/gethrxtime (Makefile.am): Likewise.
48800         * modules/getline (Makefile.am): Likewise.
48801         * modules/getloadavg (Makefile.am): Likewise.
48802         * modules/getlogin_r (Makefile.am): Likewise.
48803         * modules/getopt (Makefile.am): Likewise.
48804         * modules/getpass (Makefile.am): Likewise.
48805         * modules/getpass-gnu (Makefile.am): Likewise.
48806         * modules/getsubopt (Makefile.am): Likewise.
48807         * modules/gettime (Makefile.am): Likewise.
48808         * modules/gettimeofday (Makefile.am): Likewise.
48809         * modules/getugroups (Makefile.am): Likewise.
48810         * modules/getusershell (Makefile.am): Likewise.
48811         * modules/glob (Makefile.am): Likewise.
48812         * modules/group-member (Makefile.am): Likewise.
48813         * modules/hard-locale (Makefile.am): Likewise.
48814         * modules/hash (Makefile.am): Likewise.
48815         * modules/hmac-md5 (Makefile.am): Likewise.
48816         * modules/hmac-sha1 (Makefile.am): Likewise.
48817         * modules/human (Makefile.am): Likewise.
48818         * modules/idcache (Makefile.am): Likewise.
48819         * modules/imaxabs (Makefile.am): Likewise.
48820         * modules/imaxdiv (Makefile.am): Likewise.
48821         * modules/inet_ntop (Makefile.am): Likewise.
48822         * modules/inet_pton (Makefile.am): Likewise.
48823         * modules/inttostr (Makefile.am): Likewise.
48824         * modules/isapipe (Makefile.am): Likewise.
48825         * modules/lchown (Makefile.am): Likewise.
48826         * modules/long-options (Makefile.am): Likewise.
48827         * modules/lstat (Makefile.am): Likewise.
48828         * modules/malloc (Makefile.am): Likewise.
48829         * modules/mathl (Makefile.am): Likewise.
48830         * modules/mbchar (Makefile.am): Likewise.
48831         * modules/md2 (Makefile.am): Likewise.
48832         * modules/md4 (Makefile.am): Likewise.
48833         * modules/md5 (Makefile.am): Likewise.
48834         * modules/memcasecmp (Makefile.am): Likewise.
48835         * modules/memchr (Makefile.am): Likewise.
48836         * modules/memcmp (Makefile.am): Likewise.
48837         * modules/memcoll (Makefile.am): Likewise.
48838         * modules/memcpy (Makefile.am): Likewise.
48839         * modules/memmem (Makefile.am): Likewise.
48840         * modules/memmove (Makefile.am): Likewise.
48841         * modules/mempcpy (Makefile.am): Likewise.
48842         * modules/memrchr (Makefile.am): Likewise.
48843         * modules/memset (Makefile.am): Likewise.
48844         * modules/memxor (Makefile.am): Likewise.
48845         * modules/mkancesdirs (Makefile.am): Likewise.
48846         * modules/mkdir (Makefile.am): Likewise.
48847         * modules/mkdir-p (Makefile.am): Likewise.
48848         * modules/mkdtemp (Makefile.am): Likewise.
48849         * modules/mkstemp (Makefile.am): Likewise.
48850         * modules/mktime (Makefile.am): Likewise.
48851         * modules/modechange (Makefile.am): Likewise.
48852         * modules/mountlist (Makefile.am): Likewise.
48853         * modules/nanosleep (Makefile.am): Likewise.
48854         * modules/openat (Makefile.am): Likewise.
48855         * modules/pagealign_alloc (Makefile.am): Likewise.
48856         * modules/physmem (Makefile.am): Likewise.
48857         * modules/poll (Makefile.am): Likewise.
48858         * modules/posixtm (Makefile.am): Likewise.
48859         * modules/posixver (Makefile.am): Likewise.
48860         * modules/putenv (Makefile.am): Likewise.
48861         * modules/quote (Makefile.am): Likewise.
48862         * modules/quotearg (Makefile.am): Likewise.
48863         * modules/raise (Makefile.am): Likewise.
48864         * modules/read-file (Makefile.am): Likewise.
48865         * modules/readline (Makefile.am): Likewise.
48866         * modules/readlink (Makefile.am): Likewise.
48867         * modules/readtokens (Makefile.am): Likewise.
48868         * modules/readutmp (Makefile.am): Likewise.
48869         * modules/realloc (Makefile.am): Likewise.
48870         * modules/regex (Makefile.am): Likewise.
48871         * modules/rename (Makefile.am): Likewise.
48872         * modules/rename-dest-slash (Makefile.am): Likewise.
48873         * modules/rijndael (Makefile.am): Likewise.
48874         * modules/rmdir (Makefile.am): Likewise.
48875         * modules/rpmatch (Makefile.am): Likewise.
48876         * modules/safe-read (Makefile.am): Likewise.
48877         * modules/safe-write (Makefile.am): Likewise.
48878         * modules/same (Makefile.am): Likewise.
48879         * modules/save-cwd (Makefile.am): Likewise.
48880         * modules/savedir (Makefile.am): Likewise.
48881         * modules/setenv (Makefile.am): Likewise.
48882         * modules/settime (Makefile.am): Likewise.
48883         * modules/sha1 (Makefile.am): Likewise.
48884         * modules/sig2str (Makefile.am): Likewise.
48885         * modules/snprintf (Makefile.am): Likewise.
48886         * modules/stdlib-safer (Makefile.am): Likewise.
48887         * modules/stpcpy (Makefile.am): Likewise.
48888         * modules/stpncpy (Makefile.am): Likewise.
48889         * modules/strcase (Makefile.am): Likewise.
48890         * modules/strcasestr (Makefile.am): Likewise.
48891         * modules/strchrnul (Makefile.am): Likewise.
48892         * modules/strcspn (Makefile.am): Likewise.
48893         * modules/strdup (Makefile.am): Likewise.
48894         * modules/strerror (Makefile.am): Likewise.
48895         * modules/strftime (Makefile.am): Likewise.
48896         * modules/strndup (Makefile.am): Likewise.
48897         * modules/strnlen (Makefile.am): Likewise.
48898         * modules/strpbrk (Makefile.am): Likewise.
48899         * modules/strsep (Makefile.am): Likewise.
48900         * modules/strstr (Makefile.am): Likewise.
48901         * modules/strtod (Makefile.am): Likewise.
48902         * modules/strtoimax (Makefile.am): Likewise.
48903         * modules/strtok_r (Makefile.am): Likewise.
48904         * modules/strtol (Makefile.am): Likewise.
48905         * modules/strtoll (Makefile.am): Likewise.
48906         * modules/strtoul (Makefile.am): Likewise.
48907         * modules/strtoull (Makefile.am): Likewise.
48908         * modules/strtoumax (Makefile.am): Likewise.
48909         * modules/strverscmp (Makefile.am): Likewise.
48910         * modules/time_r (Makefile.am): Likewise.
48911         * modules/timegm (Makefile.am): Likewise.
48912         * modules/tmpfile-safer (Makefile.am): Likewise.
48913         * modules/unistd-safer (Makefile.am): Likewise.
48914         * modules/unlinkdir (Makefile.am): Likewise.
48915         * modules/userspec (Makefile.am): Likewise.
48916         * modules/utime (Makefile.am): Likewise.
48917         * modules/utimecmp (Makefile.am): Likewise.
48918         * modules/utimens (Makefile.am): Likewise.
48919         * modules/vasnprintf (Makefile.am): Likewise.
48920         * modules/vasprintf (Makefile.am): Likewise.
48921         * modules/vsnprintf (Makefile.am): Likewise.
48922         * modules/xalloc (Makefile.am): Likewise.
48923         * modules/xgetcwd (Makefile.am): Likewise.
48924         * modules/xnanosleep (Makefile.am): Likewise.
48925         * modules/xreadlink (Makefile.am): Likewise.
48926         * modules/xstrtod (Makefile.am): Likewise.
48927         * modules/xstrtol (Makefile.am): Likewise.
48928         * modules/xstrtold (Makefile.am): Likewise.
48929         * modules/yesno (Makefile.am): Likewise.
48930
48931 2006-10-12  Jim Meyering  <jim@meyering.net>
48932
48933         * m4/getloadavg.m4: Revert the change below.
48934
48935         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
48936         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
48937         fail with a symlink, which is what coreutils' ./bootstrap now
48938         creates by default.
48939
48940 2006-10-12  Bruno Haible  <bruno@clisp.org>
48941
48942         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
48943         mingw.
48944         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
48945         MSVC and mingw explicitly.
48946
48947 2006-10-11  Simon Josefsson  <jas@extundo.com>
48948             Bruno Haible  <bruno@clisp.org>
48949
48950         Add support for multiple gnulib-tool invocations in the scope of a
48951         single configure.ac file.
48952         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
48953         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
48954         with the same contents as the _LIBADD variable.
48955         (func_emit_initmacro_start, func_emit_initmacro_end,
48956         func_emit_initmacro_done): New functions.
48957         (func_import, func_create_testdir): Invoke them. Allow the identifiers
48958         gl_LIBOBJS and gl_LTLIBOBJS.
48959
48960 2006-10-11  Bruno Haible  <bruno@clisp.org>
48961
48962         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
48963         (func_create_testdir): Don't create po/Makefile.am, don't invoke
48964         autoreconf. Instead, invoke autopoint explicitly but move back the
48965         *.m4 files from gnulib.
48966
48967 2006-10-11  Bruno Haible  <bruno@clisp.org>
48968
48969         * gnulib-tool (func_usage): Make module names after --create-testdir
48970         optional.
48971         (func_create_testdir): If no module was specified, use nearly all
48972         modules.
48973
48974 2006-10-12  Jim Meyering  <jim@meyering.net>
48975
48976         Big performance improvement for fts-based tools that use FTS_NOSTAT.
48977         Avoid spurious inode-mismatch problems on non-POSIX file systems.
48978         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
48979         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
48980         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
48981         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
48982         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
48983         (fts_set_stat_required): New function.
48984         (fts_open): Defer the calls to fts_stat, if possible or requested.
48985         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
48986         into fts_stat itself.
48987         (fts_read): Perform any required (deferred) fts_stat call.
48988         (fts_build): Likewise, for the directory we're about to open and read.
48989         In the readdir loop, carefully decide whether each entry will require
48990         an eventual call to fts_stat, using dirent.d_type info if available.
48991         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
48992         a command line argument into this function.  Update all callers.
48993         Map a return value of FTS_DOT to FTS_D for a command line argument.
48994         * modules/fts (Depends-on): Add d-type.  Alphabetize.
48995         Thanks to Miklos Szeredi for his tenacity and for the initial
48996         bug report about "find" failing on a FUSE-based file system.
48997
48998         * lib/fts.c (fts_open): Use consistent indentation.
48999
49000 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
49001
49002         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
49003         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
49004         reported by Jim Meyering.  All uses of cache variables renamed
49005         to match Autoconf's.
49006         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
49007         the other one.
49008
49009         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
49010         Fix misspelling in diagnostic.
49011
49012 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
49013
49014         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
49015         defined.  Problem reported by Matthew Woehlke.
49016
49017         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
49018         Add support for Tandem NonStop R series.
49019         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
49020         Use new macro.
49021
49022         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
49023         (has_trailing_slash): Omit size arg; all callers changed.
49024         Omit 'inline', since it doesn't help performance and we'd
49025         need to configure it.
49026         Don't count //, ///, etc. as having a trailing slash.
49027         As a side effect, this removes a C99ism reported by Matthew Woehlke.
49028         (rpl_rename_dest_slash): On failure, use rename's errno rather
49029         than (in some cases) an incorrect or junk errno.
49030         Simplify code by removing need to compute length; this does
49031         cause it to make two passes instead of one over the file name,
49032         but it's worth it.
49033
49034         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
49035         change, since Autoconf's version may no longer be appropriate now
49036         that we are using CVS Autoconf's version.  Add support for Tandem.
49037
49038 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
49039             Bruno Haible  <bruno@clisp.org>
49040
49041         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
49042         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
49043         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
49044         gl_AC_TYPE_LONG_LONG.
49045
49046         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
49047         instead of HAVE_LONG_LONG.
49048         * lib/printf-args.c (printf_fetchargs): Likewise.
49049         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
49050         * lib/vasnprintf.c (VASNPRINTF): Likewise.
49051         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
49052         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
49053         gl_AC_TYPE_LONG_LONG.
49054
49055 2006-10-11  Bruno Haible  <bruno@clisp.org>
49056
49057         * m4/longlong.m4: Add comments.
49058         * m4/ulonglong.m4: Likewise.
49059
49060 2006-10-10  Bruno Haible  <bruno@clisp.org>
49061
49062         Make it possible to #define stpcpy, strdup to aliases.
49063         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
49064         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
49065
49066 2006-10-10  Bruno Haible  <bruno@clisp.org>
49067
49068         Make it possible to #define gcd to an alias.
49069         * lib/gcd.c: Include config.h.
49070
49071 2006-10-10  Bruno Haible  <bruno@clisp.org>
49072
49073         Make it possible to #define c_isascii to an alias.
49074         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
49075         defined. Undefine the macros before defining them, to avoid gcc
49076         warnings.
49077         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
49078         define NO_C_CTYPE_MACROS early.
49079
49080 2006-10-10  Bruno Haible  <bruno@clisp.org>
49081
49082         Make it possible to #define set_program_name to an alias.
49083         * lib/progname.c: Don't undefine set_program_name; instead, undefine
49084         ENABLE_RELOCATABLE early.
49085
49086 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
49087
49088         Port to Tandem NSK OSS, which has 64-bit signed int but at most
49089         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
49090         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
49091         More generally, don't assume that 64-bit signed int is available
49092         if unsigned int is, and vice versa.
49093         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
49094         unsigned symbols, not on their signed counterparts.
49095         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
49096         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
49097         (UINT64_C, UINTMAX_C):
49098         Likewise.
49099         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
49100         unsigned counterparts.
49101         (Have_long_long, Unsigned): New macros.
49102         (Int): Renamed from INT.
49103         (strtoimax): Use the new macros.
49104         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
49105         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
49106         * modules/inttypes (inttypes.h): Substitute
49107         HAVE_UNSIGNED_LONG_LONG_INT.
49108         * modules/stdint (stdint.h): Likewise.
49109         (Files): Add m4/ulonglong.m4.
49110
49111 2006-10-10  Bruno Haible  <bruno@clisp.org>
49112
49113         Fix a gcc -Wshadow warning.
49114         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
49115         to 'bucket'.
49116         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
49117         gl_linked_indexof_from_to): Likewise.
49118         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
49119         Likewise.
49120         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
49121         Likewise.
49122         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
49123         Reported by Eric Blake.
49124
49125 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
49126
49127         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
49128         for NetBSD.  Problem reported by Bruno Haible.
49129
49130 2006-10-09  Jim Meyering  <jim@meyering.net>
49131
49132         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
49133         Patch from Bruno Haible.
49134
49135 2006-10-09  Jim Meyering  <jim@meyering.net>
49136
49137         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
49138         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
49139         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
49140
49141 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
49142
49143         Don't include <config.h> twice; this doesn't work in some cases,
49144         e.g., when config.h has "#define intmax_t long long int" and
49145         we include <config.h>, <inttypes.h>, <config.h> in that order.
49146         Problem reported by Matthew Woehlke in:
49147         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
49148         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
49149         * lib/fts-cycle.c: Don't include config.h.
49150         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
49151         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
49152         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
49153         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
49154         inttypes.h.
49155         * lib/xstrtoumax.c: Likewise.
49156         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
49157         __strtol and the like, so that this module is more like its siblings.
49158         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
49159         Remove; no longer needed now that we assume gnulib inttypes.h.
49160
49161 2006-10-08  Bruno Haible  <bruno@clisp.org>
49162
49163         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
49164         option.
49165
49166 2006-10-07  Jim Meyering  <jim@meyering.net>
49167
49168         * modules/inttypes (inttypes.h): Revert what seems to have been
49169         an inadvertent part of today's change: use "|", not "/" in the
49170         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
49171
49172 2006-10-07  Bruno Haible  <bruno@clisp.org>
49173
49174         * modules/sublist: New file.
49175
49176 2006-10-07  Bruno Haible  <bruno@clisp.org>
49177
49178         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
49179         * modules/argz (argz.h): Likewise.
49180         * modules/arpa_inet (arpa/inet.h): Likewise.
49181         * modules/byteswap (byteswap.h): Likewise.
49182         * modules/configmake (configmake.h): Likewise.
49183         * modules/fcntl (fcntl.h): Likewise.
49184         * modules/fnmatch (fnmatch.h): Likewise.
49185         * modules/getopt (getopt.h): Likewise.
49186         * modules/glob (glob.h): Likewise.
49187         * modules/inttypes (inttypes.h): Likewise.
49188         * modules/netinet_in (netinet/in.h): Likewise.
49189         * modules/poll (poll.h): Likewise.
49190         * modules/stdbool (stdbool.h): Likewise.
49191         * modules/stdint (stdint.h): Likewise.
49192         * modules/sys_select (sys/select.h): Likewise.
49193         * modules/sys_socket (sys/socket.h): Likewise.
49194         * modules/sys_stat (sys/stat.h): Likewise.
49195         * modules/sysexits (sysexits.h): Likewise.
49196         * modules/unistd (unistd.h): Likewise.
49197         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
49198         Add a "DO NOT EDIT" comment to the generated file.
49199         (func_import): Likewise for gnulib-comp.m4.
49200
49201 2006-10-07  Bruno Haible  <bruno@clisp.org>
49202
49203         * lib/gl_sublist.h: New file.
49204         * lib/gl_sublist.c: New file.
49205
49206 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
49207
49208         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
49209         name (relative to the original working directory) and the file
49210         name component (relative to the temporary working directory).  All
49211         callers changed.
49212         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
49213         * lib/mkdir-p.c (make_dir_parents): Likewise.
49214         * lib/mkdir-p.h (make_dir_parents): Likewise.
49215
49216 2006-10-06  Eric Blake  <ebb9@byu.net>
49217
49218         Define several macros for use by the clean-temp module.
49219         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
49220         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
49221         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
49222
49223         * lib/clean-temp.h (close_stream_temp): New declaration.
49224         * lib/clean-temp.c (includes): Pull in headers according to what
49225         other modules are in use.
49226         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
49227
49228 2006-10-06  Bruno Haible  <bruno@clisp.org>
49229
49230         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
49231         instead of fopen, fwriteerror.
49232
49233 2006-10-06  Bruno Haible  <bruno@clisp.org>
49234
49235         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
49236         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
49237         int.
49238         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
49239         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
49240         Return an error indicator.
49241         Suggested by Eric Blake.
49242
49243 2006-10-06  Bruno Haible  <bruno@clisp.org>
49244
49245         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
49246         Reported by Eric Blake.
49247
49248 2006-10-06  Bruno Haible  <bruno@clisp.org>
49249
49250         * modules/closeout (Description): Mention stderr too.
49251
49252 2006-10-06  Bruno Haible  <bruno@clisp.org>
49253         and Paul Eggert  <eggert@cs.ucla.edu>
49254
49255         * lib/closeout.c (close_stdout): Also close stderr.
49256         * lib/closeout.h: Update comment.
49257
49258 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
49259
49260         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
49261         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
49262         * lib/dirchownmod.c: Include lchown.h.
49263         * lib/lchown.c: Don't include files that lchown.h now includes.
49264         Don't declare chown, since lchown.h now does that.
49265         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
49266         (lchown): Define to rpl_chown if lchown is declared but
49267         does not exist.  Declare using a prototype if lchown is not
49268         declared.  Add a copyright notice.
49269         * lib/mkstemp.h: Include <unistd.h>.
49270         * lib/openat.c: Include lchown.h.
49271
49272         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
49273         we now test for that separately.
49274         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
49275         rather than O_NOFOLLOW, when testing whether it's possible to
49276         avoid a race condition reliably.
49277         * lib/savewd.c (savewd_chdir): Likewise.
49278
49279         Remove macros that are no longer needed now that stdint.h is
49280         reliable.
49281         * lib/fsusage.c (UINTMAX_MAX): Remove.
49282         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
49283         * lib/utimecmp.c (SIZE_MAX): Remove.
49284
49285         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
49286
49287         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
49288         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
49289         O_NOATIME works.
49290
49291 2006-10-05  Bruno Haible  <bruno@clisp.org>
49292
49293         * lib/gl_list.h (gl_sortedlist_search_from_to,
49294         gl_sortedlist_indexof_from_to): New declarations.
49295         (gl_list_implementation): New fields sortedlist_search_from_to,
49296         sortedlist_indexof_from_to.
49297         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
49298         inline functions.
49299         * lib/gl_list.c (gl_sortedlist_search_from_to,
49300         gl_sortedlist_indexof_from_to): New functions.
49301         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
49302         function.
49303         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
49304         (gl_array_sortedlist_search_from_to): New function.
49305         (gl_array_list_implementation): Update.
49306         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
49307         function.
49308         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
49309         (gl_carray_sortedlist_search_from_to): New function.
49310         (gl_carray_list_implementation): Update.
49311         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
49312         gl_linked_sortedlist_indexof_from_to): New functions.
49313         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
49314         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
49315         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
49316         gl_tree_sortedlist_indexof_from_to): New functions.
49317         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
49318         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
49319         Update.
49320         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
49321         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
49322         Update.
49323
49324 2006-10-05  Bruno Haible  <bruno@clisp.org>
49325
49326         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
49327         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
49328         (struct gl_list_implementation): Add fields search_from_to,
49329         indexof_from_to. Remove fields search, indexof.
49330         (gl_list_search): Use the search_from_to method.
49331         (gl_list_search_from, gl_list_search_from_to): New functions.
49332         (gl_list_indexof): Use the indexof_from_to method.
49333         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
49334         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
49335         (gl_list_search_from, gl_list_search_from_to): New functions.
49336         (gl_list_indexof): Use the indexof_from_to method.
49337         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
49338         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
49339         gl_array_indexof. Add start_index, end_index arguments.
49340         (gl_array_search_from_to): Renamed from gl_array_search. Add
49341         start_index, end_index arguments.
49342         (gl_array_remove, gl_array_list_implementation): Update.
49343         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
49344         gl_carray_indexof. Add start_index, end_index arguments.
49345         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
49346         start_index, end_index arguments.
49347         (gl_carray_remove, gl_carray_list_implementation): Update.
49348         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
49349         gl_linked_search. Add start_index, end_index arguments.
49350         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
49351         start_index, end_index arguments.
49352         (gl_linked_remove): Update.
49353         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
49354         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
49355         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
49356         field to 'size_t'.
49357         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
49358         gl_tree_search. Add start_index, end_index arguments.
49359         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
49360         start_index, end_index arguments.
49361         (gl_tree_remove): Update.
49362         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
49363         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
49364         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
49365         function.
49366         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
49367         gl_tree_search. Add start_index, end_index arguments.
49368         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
49369         start_index, end_index arguments.
49370         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
49371         Update.
49372         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
49373
49374 2006-10-05  Bruno Haible  <bruno@clisp.org>
49375
49376         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
49377
49378         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
49379         fwriteerror_temp): New declarations.
49380         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
49381         (descriptors): New variable.
49382         (cleanup): First, close the descriptors.
49383         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
49384         fclose_temp, fwriteerror_temp): New functions.
49385
49386 2006-10-04  Jim Meyering  <jim@meyering.net>
49387
49388         * lib/fts.c (fts_open): Tiny comment change.
49389
49390 2006-10-04  Bruno Haible  <bruno@clisp.org>
49391
49392         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
49393         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
49394         gl_LOCK_BODY.
49395         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
49396         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
49397         gl_LOCK_EARLY_BODY.
49398         (gl_LOCK): Require gl_LOCK_BODY.
49399
49400 2006-10-04  Bruno Haible  <bruno@clisp.org>
49401
49402         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
49403         (gl_oset_search_atleast): New declaration.
49404         (struct gl_oset_implementation): Add field 'search_atleast'.
49405         (gl_oset_search_atleast): New inline function.
49406         * lib/gl_oset.c (gl_oset_search_atleast): New function.
49407         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
49408         (gl_array_oset_implementation): Update.
49409         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
49410         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
49411         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
49412
49413 2006-10-04  Bruno Haible  <bruno@clisp.org>
49414
49415         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
49416
49417 2006-10-03  Bruno Haible  <bruno@clisp.org>
49418
49419         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
49420         from gl_avltreehash_list_implementation.
49421
49422 2006-10-03  Bruno Haible  <bruno@clisp.org>
49423
49424         * lib/gl_oset.c (gl_oset_add): Fix return type.
49425
49426 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
49427
49428         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
49429
49430 2006-10-02  Eric Blake  <ebb9@byu.net>
49431
49432         * modules/strnlen (Depends-on): Add extensions.
49433
49434 2006-10-02  Eric Blake  <ebb9@byu.net>
49435
49436         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
49437         definition in 2.60+.
49438
49439 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
49440
49441         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
49442         checks.
49443
49444 2006-10-02  Bruno Haible  <bruno@clisp.org>
49445
49446         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
49447         to the AUTOMAKE_OPTIONS.
49448         Reported by Jim Meyering.
49449
49450 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
49451
49452         Work around bug in Solaris 10 /proc file system:
49453         /proc/self/fd/NNN/.. isn't the parent directory of
49454         the directory whose file descriptor is NNN.  This needs to
49455         be worked around at run time, not compile time, since a
49456         program might be built on Solaris 8, where things work, and
49457         run on Solaris 10.
49458         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
49459         to use the following interface instead:
49460         (OPENAT_BUFFER_SIZE): New macro.
49461         (openat_proc_name): New function.
49462         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
49463         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
49464         Likewise.
49465         * lib/openat-proc.c: New file.
49466         * modules/openat (Files): Add lib/openat-proc.c.
49467         (Depends-on): Add same-inode, stdbool.
49468         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
49469
49470 2006-09-29  Bruno Haible  <bruno@clisp.org>
49471
49472         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
49473         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
49474         argument. Set stdout_closed before testing for ferror, not after.
49475         (fwriteerror, fwriteerror_no_ebadf): New functions.
49476
49477 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49478
49479         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
49480
49481 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
49482
49483         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
49484         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
49485
49486 2006-09-28  Jim Meyering  <jim@meyering.net>
49487
49488         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
49489         Include <unistd.h>.
49490
49491 2006-09-28  Bruno Haible  <bruno@clisp.org>
49492
49493         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
49494         * modules/linkedhash-list (Depends-on): Likewise.
49495         * modules/rbtreehash-list (Depends-on): Likewise.
49496
49497 2006-09-28  Bruno Haible  <bruno@clisp.org>
49498
49499         * lib/strndup.h: Simplify the redefinition of strndup.
49500         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
49501         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
49502
49503 2006-09-28  Bruno Haible  <bruno@clisp.org>
49504
49505         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
49506         * lib/gl_linkedhash_list.c: Likewise.
49507         * lib/gl_rbtreehash_list.c: Likewise.
49508
49509 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
49510
49511         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
49512         getaddrinfo.
49513
49514         * lib/__fpending.h: Don't include <stdio_ext.h> unless
49515         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
49516         it causes <stdio_ext.h> to cause a compile-time error.
49517         Problem reported by Nelson H. F. Beebe.
49518         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
49519         of HAVE_DECL___PENDING.
49520
49521         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
49522         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
49523         declaration.
49524
49525 2006-09-27  Jim Meyering  <jim@meyering.net>
49526
49527         This file could end up with a definition for a function
49528         named __strndup, rather than rpl_strndup on a system with
49529         incomplete weak_alias support.
49530         * lib/strndup.c (strndup): Rename from __strndup.
49531         Remove #defines that used to map __strndup to strndup.
49532         Don't use K&R prototypes.
49533         Remove LIBC-related code, since this file is not sync'd with glibc.
49534         * lib/strndup.h: Revamp, accordingly.
49535         * m4/strndup.m4: Modernize.
49536
49537 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
49538
49539         * modules/savewd (Depends-on): Add 'raise'.
49540         * lib/savewd.c: Include <signal.h>, for 'raise'.
49541
49542 2006-09-26  Jim Meyering  <jim@meyering.net>
49543
49544         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
49545         when we detect Darwin 8.7.0's acl_get_file bug.
49546         Rearrange to perform the new (below) run-test while $LIBS
49547         contains any acl-related library.  Set USE_ACL at the end.
49548         (gl_ACL_GET_FILE): New function.
49549
49550 2006-09-26  Eric Blake  <ebb9@byu.net>
49551
49552         * lib/verror.c: Include <config.h> unconditionally.
49553
49554 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
49555
49556         * modules/clock-time (Maintainer): Add self.
49557         * modules/getlogin_r (Depends-on): Add extensions.
49558
49559 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49560
49561         * modules/clock-time: New module.
49562         * modules/nanosleep (Depends-on): Add clock-time.
49563         * modules/gethrxtime (Depends-on): Likewise.
49564         * modules/gettime (Depends-on): Likewise.
49565         * modules/settime (Depends-on): Likewise.
49566
49567         * modules/fts-lgpl: Depend on openat.
49568         * modules/mkancesdirs: Depend on savewd.
49569         * modules/mkdir-p: Likewise.
49570
49571 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49572
49573         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
49574
49575         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
49576         `gl_have_arbitrary_file_name_length_limit' to
49577         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
49578         actually works between configure runs.
49579
49580 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49581             Bruno Haible  <bruno@clisp.org>
49582
49583         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
49584
49585 2006-09-25  Jim Meyering  <jim@meyering.net>
49586
49587         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
49588         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
49589
49590 2006-09-25  Eric Blake  <ebb9@byu.net>
49591
49592         * gnulib-tool (func_import, func_create_testdir): Fix typos in
49593         exec's in 2006-09-18 patch when shuffling fds.
49594
49595 2006-09-25  Bruno Haible  <bruno@clisp.org>
49596
49597         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
49598         Reported by Jim Meyering.
49599
49600 2006-09-24  Jim Meyering  <jim@meyering.net>
49601
49602         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
49603         compare a pointer against a literal "0".  That caused failures with
49604         at least HP-UX's hpcc.
49605
49606 2006-09-22  Simon Josefsson  <jas@extundo.com>
49607
49608         * modules/gc-sha1:
49609         * modules/gc-md4:
49610         * modules/gc-hmac-sha1:
49611         * modules/gc-hmac-md5:
49612         * modules/gc-des:
49613         * modules/gc-arcfour: Distribute more files.
49614
49615 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49616
49617         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
49618         (gl_linked_iterator_from_to): Initialize struct completely.
49619         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
49620         (gl_tree_iterator_from_to): Likewise
49621         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
49622         * lib/gl_array_list.c [lint] (gl_array_iterator)
49623         (gl_array_iterator_from_to): Likewise.
49624         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
49625         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
49626         (gl_carray_iterator_from_to): Likewise.
49627
49628         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
49629         * lib/md4.c (md4_process_block): Remove unused variable.
49630         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
49631         parentheses for clarity.
49632
49633 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49634
49635         * modules/bison-i18n (Depends-on): Add gettext.
49636
49637 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49638
49639         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
49640         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
49641         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
49642         also add missing comma that caused broken test.
49643         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
49644         stdlib.h, for `abort'.
49645         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
49646         variables.
49647         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
49648         include unistd.h if present, for `rmdir'.
49649         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
49650         variables.
49651         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
49652         in the process include standard headers for prototypes.
49653         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
49654         gets declared on GNU/Linux.
49655         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
49656         unistd.h, for `rmdir'.
49657         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
49658
49659         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
49660         always true.
49661         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
49662
49663         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
49664
49665 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49666
49667         * gnulib-tool (func_version): Create output all at once.  This
49668         may help avoid triggering unnecessary SIGPIPEs, and at any
49669         rate it doesn't hurt.
49670
49671 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49672             Bruno Haible  <bruno@clisp.org>
49673
49674         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
49675         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
49676         * m4/signed.m4 (bh_C_SIGNED): Likewise.
49677
49678         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
49679         (gl_FUNC_VASPRINTF): Invoke it.
49680
49681 2006-09-22  Bruno Haible  <bruno@clisp.org>
49682
49683         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
49684         getloadavg.c as first argument.
49685
49686 2006-09-22  Bruno Haible  <bruno@clisp.org>
49687
49688         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
49689         at the beginning of the gl_INIT macro.
49690         * modules/getloadavg (configure.ac): Pass $gl_source_base to
49691         gl_GETLOADAVG.
49692
49693 2006-09-22  Bruno Haible  <bruno@clisp.org>
49694
49695         * gnulib-tool (func_create_megatestdir): Don't include the config-h
49696         module.
49697         Suggested by Ralf Wildenhues.
49698
49699 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
49700
49701         Import this patch from libc:
49702
49703         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
49704
49705         * lib/regex_internal.c (re_string_reconstruct): Handle
49706         offset < pstr->valid_raw_len && pstr->offsets_needed case.
49707         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
49708         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
49709         re_string_context_at.
49710
49711         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
49712         now requires it.
49713         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
49714         gl_REGEX now does it for us.
49715         (gl_REGEX): Add test taken from
49716         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
49717
49718         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
49719         Check that large offsets work.  Modernize Autoconf usages.
49720         Prefer "yes" to mean a good thing rather than a bad.
49721         Don't put "#define mkstemp" in config.h, as this might interfere
49722         with standard system headers that "#define mkstemp mkstemp64".
49723
49724         * modules/mkstemp (Depends-on): Add extensions, so that
49725         mkstemp is visible on some platforms.
49726         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
49727         (Include): Change to "mkstemp.h" from <stdlib.h>.
49728         (Files): Add mkstemp.h.
49729
49730         * lib/mkstemp.h: New file, since some standard headers
49731         #define mkstemp.
49732         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
49733         Include "mkstemp.h".
49734         Make the _LIBC code resemble glibc original more,
49735         e.g., use K&R style.
49736         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
49737         (mkstemp): Remove, since mkstemp.h does this for us.
49738         * lib/stdlib--.h: Include mkstemp.h.
49739
49740         Import this patch from libc:
49741
49742         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
49743
49744         * lib/tempname.c (__gen_tempname): Change attempts_min
49745         into a macro.  Use preprocessor to decide how to initialize
49746         attempts [Coverity CID 67].
49747
49748 2006-09-20  Bruno Haible  <bruno@clisp.org>
49749
49750         * lib/mkdtemp.c: Import from libc.
49751         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
49752                 * sysdeps/posix/tempname.c (__gen_tempname): Change
49753                 attempts_min into a macro.  Use preprocessor to decide how to
49754                 initialize attempts [Coverity CID 67].
49755         2001-11-27  Paul Eggert  <eggert@twinsun.com>
49756                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
49757                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
49758
49759 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49760
49761         * gnulib-tool (func_exit): New function, to allow to pass the
49762         exit status portably through the trap.  Use everywhere.
49763         (--help, --version): Signal a write error.
49764         (trap): catch SIGPIPE, for write errors.
49765         Exit at the end of the trap, with the correct exit status.
49766
49767 2006-09-19  Karl Berry  <karl@gnu.org>
49768
49769         * doc/gnulib.texi: note about the license texinfo files.
49770
49771 2006-09-19  Eric Blake  <ebb9@byu.net>
49772
49773         * gnulib-tool: Avoid space-tab.
49774
49775 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
49776
49777         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
49778         that prevented coreutils 6.1 from building.  Problem reported
49779         by Petter Reinholdtsen.
49780
49781 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
49782
49783         * gnulib-tool (avoidlist): Fix typo that broke options like
49784         --avoid=lock that are used by coreutils bootstrap.
49785
49786 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
49787
49788         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
49789         more systematically.
49790
49791 2006-09-18  Jim Meyering  <jim@meyering.net>
49792
49793         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
49794
49795 2006-09-18  Bruno Haible  <bruno@clisp.org>
49796
49797         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
49798
49799 2006-09-18  Bruno Haible  <bruno@clisp.org>
49800
49801         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
49802         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
49803         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
49804         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
49805         * m4/gettext.m4: Require autoconf >= 2.52.
49806         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
49807         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
49808         of gl_cv_header_inttypes_h.
49809
49810 2006-09-18  Bruno Haible  <bruno@clisp.org>
49811
49812         * lib/javaversion.c: Include configmake.h.
49813
49814 2006-09-18  Bruno Haible  <bruno@clisp.org>
49815
49816         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
49817         avoid that the while loops be executed in a subshell.
49818
49819 2006-09-18  Bruno Haible  <bruno@clisp.org>
49820
49821         * MODULES.html.sh (func_module): Break long lines.
49822         Suggested by Bruce Korb <bkorb@gnu.org>.
49823
49824 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49825
49826         Speed up by a factor of 1.12.
49827         * gnulib-tool (nl): New variable.
49828         (func_import): Rewrite include directive extraction to only read each
49829         directive once.
49830
49831 2006-09-17  Bruno Haible  <bruno@clisp.org>
49832
49833         * modules/javaversion (Makefile.am): Remove DEFS setting.
49834         (Depends-on): Add configmake, for PKGDATADIR definition.
49835
49836 2006-09-17  Bruno Haible  <bruno@clisp.org>
49837
49838         * gnulib-tool (func_create_testdir): Rewrite all files at once.
49839
49840 2006-09-17  Bruno Haible  <bruno@clisp.org>
49841
49842         * gnulib-tool (func_append): New function, stolen from libtool.m4.
49843         (func_modules_transitive_closure, func_modules_add_dummy,
49844         func_modules_to_filelist, func_import, func_create_testdir,
49845         func_create_megatestdir, ...): Use it wherever possible.
49846         Suggested by Ralf Wildenhues.
49847
49848 2006-09-16  Karl Berry  <karl@gnu.org>
49849
49850         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
49851         to avoid sectioning errors.
49852         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
49853         [ifinfo]: blank line after @center-ed titles.
49854         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
49855         Spell FSF address consistently with others.
49856         (These changes approved by rms.)
49857
49858 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49859
49860         Speed up by a factor of 1.61.
49861         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
49862         already checked module names again.
49863
49864 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49865
49866         Speed up by a factor of 1.13.
49867         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
49868         for new_files, and the input to func_add_or_update.
49869
49870 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49871
49872         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
49873         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
49874
49875 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
49876
49877         * modules/mkancesdirs (Depends-on): Add fcntl.
49878         * modules/savewd: New file.
49879         * MODULES.html.sh (File system functions): Add savewd.
49880
49881         * modules/configmake (Makefile.am): Add support for the
49882         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
49883
49884 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
49885
49886         * m4/savewd.m4: New file.
49887
49888 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
49889
49890         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
49891         (dirchownmod): New arg FD.  All callers changed.
49892         Use FD rather than opening the directory ourself, as opening is
49893         now the caller's responsibility.
49894         * lib/dirchownmod.h: Likewise.
49895         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
49896         hosts that require <sys/types.h> before <sys/stat.h>.  Include
49897         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
49898         (test_dir): Remove.
49899         (mkancesdirs): Return length of prefix of FILE that has already
49900         been made, or -2 if there is a child doing the work.  Redo
49901         algorithm so that it is O(N) rather than O(N**2).  Optimize away
49902         ".", and treat ".." specially since it might stray back into
49903         already-created areas.  Use a subprocess if necessary.  New arg
49904         WD; all users changed.  MAKE_DIR function should now return 1
49905         if it creates a directory that is not readable.  Return -2 if
49906         a child process is spun off.
49907         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
49908         Adjust signature to match code.
49909         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
49910         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
49911         all users changed.
49912         * lib/savewd.c, lib/savewd.h: New files.
49913
49914 2006-09-15  Jim Meyering  <jim@meyering.net>
49915
49916         * modules/rename-dest-slash: New module.
49917         * MODULES.html.sh (posix_compat): Add it here.
49918
49919         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
49920
49921 2006-09-15  Jim Meyering  <jim@meyering.net>
49922
49923         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
49924         file.
49925
49926         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
49927
49928 2006-09-15  Jim Meyering  <jim@meyering.net>
49929
49930         * lib/rename-dest-slash.c (has_trailing_slash): Use
49931         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
49932         (rpl_rename_dest_slash): Perform the cheaper trailing slash
49933         test before testing whether SRC is a directory.
49934         Suggestions from Bruno Haible.
49935
49936         Avoid a warning about an unused variable.
49937         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
49938         into the #ifdef block where it's used.
49939
49940         * lib/rename-dest-slash.c: New file.
49941
49942 2006-09-14  Bruno Haible  <bruno@clisp.org>
49943
49944         * lib/allocsa.c: Include <config.h> unconditionally.
49945         * lib/asnprintf.c: Likewise.
49946         * lib/asprintf.c: Likewise.
49947         * lib/c-strcasecmp.c: Likewise.
49948         * lib/c-strcasestr.c: Likewise.
49949         * lib/c-strncasecmp.c: Likewise.
49950         * lib/c-strstr.c: Likewise.
49951         * lib/classpath.c: Likewise.
49952         * lib/clean-temp.c: Likewise.
49953         * lib/concatpath.c: Likewise.
49954         * lib/copy-file.c: Likewise.
49955         * lib/csharpcomp.c: Likewise.
49956         * lib/csharpexec.c: Likewise.
49957         * lib/execute.c: Likewise.
49958         * lib/fatal-signal.c: Likewise.
49959         * lib/findprog.c: Likewise.
49960         * lib/fwriteerror.c: Likewise.
49961         * lib/gl_array_list.c: Likewise.
49962         * lib/gl_array_oset.c: Likewise.
49963         * lib/gl_avltree_list.c: Likewise.
49964         * lib/gl_avltree_oset.c: Likewise.
49965         * lib/gl_avltreehash_list.c: Likewise.
49966         * lib/gl_carray_list.c: Likewise.
49967         * lib/gl_linked_list.c: Likewise.
49968         * lib/gl_linkedhash_list.c: Likewise.
49969         * lib/gl_list.c: Likewise.
49970         * lib/gl_oset.c: Likewise.
49971         * lib/gl_rbtree_list.c: Likewise.
49972         * lib/gl_rbtree_oset.c: Likewise.
49973         * lib/gl_rbtreehash_list.c: Likewise.
49974         * lib/imaxabs.c: Likewise.
49975         * lib/imaxdiv.c: Likewise.
49976         * lib/javacomp.c: Likewise.
49977         * lib/javaexec.c: Likewise.
49978         * lib/javaversion.c: Likewise.
49979         * lib/linebreak.c: Likewise.
49980         * lib/localcharset.c: Likewise.
49981         * lib/lock.c: Likewise.
49982         * lib/mbchar.c: Likewise.
49983         * lib/mbswidth.c: Likewise.
49984         * lib/mkdtemp.c: Likewise.
49985         * lib/pipe.c: Likewise.
49986         * lib/printf-args.c: Likewise.
49987         * lib/printf-parse.c: Likewise.
49988         * lib/progname.c: Likewise.
49989         * lib/progreloc.c: Likewise.
49990         * lib/readlink.c: Likewise.
49991         * lib/sh-quote.c: Likewise.
49992         * lib/stpcpy.c: Likewise.
49993         * lib/stpncpy.c: Likewise.
49994         * lib/strcasecmp.c: Likewise.
49995         * lib/strcasestr.c: Likewise.
49996         * lib/strcspn.c: Likewise.
49997         * lib/striconv.c: Likewise.
49998         * lib/strncasecmp.c: Likewise.
49999         * lib/strnlen1.c: Likewise.
50000         * lib/strstr.c: Likewise.
50001         * lib/strtok_r.c: Likewise.
50002         * lib/tls.c: Likewise.
50003         * lib/tmpdir.c: Likewise.
50004         * lib/unicodeio.c: Likewise.
50005         * lib/unsetenv.c: Likewise.
50006         * lib/vasnprintf.c: Likewise.
50007         * lib/vasprintf.c: Likewise.
50008         * lib/wait-process.c: Likewise.
50009         * lib/xallocsa.c: Likewise.
50010         * lib/xsetenv.c: Likewise.
50011         * lib/xstriconv.c: Likewise.
50012
50013 2006-09-13  Simon Josefsson  <jas@extundo.com>
50014
50015         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
50016         that internally, suggested by Ralf Wildenhues
50017         <Ralf.Wildenhues@gmx.de>.
50018
50019 2006-09-13  Simon Josefsson  <jas@extundo.com>
50020
50021         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
50022         @LIBOBJS@.
50023         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
50024
50025 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
50026
50027         * lib/_fpending.c: Include <config.h> unconditionally, since we no
50028         longer worry about uses that don't define HAVE_CONFIG_H.
50029         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
50030         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
50031         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
50032         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
50033         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
50034         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
50035         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
50036         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
50037         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
50038         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
50039         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
50040         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
50041         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
50042         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
50043         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
50044         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
50045         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
50046         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
50047         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
50048         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
50049         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
50050         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
50051         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
50052         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
50053         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
50054         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
50055         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
50056         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
50057         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
50058         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
50059         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
50060         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
50061         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
50062         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
50063         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
50064         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
50065         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
50066         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
50067         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
50068         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
50069         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
50070         Likewise.
50071
50072 2006-09-13  Eric Blake  <ebb9@byu.net>
50073
50074         * lib/getopt.c: Fix typo in last commit.
50075
50076 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
50077
50078         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
50079         dgettext.
50080
50081 2006-09-12  Jim Meyering  <jim@meyering.net>
50082
50083         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
50084         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
50085         Reported by Nelson H. F. Beebe.
50086
50087 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
50088
50089         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
50090         program_invocation_name and program_invocation_short_name are
50091         initialized.
50092         * lib/argp-namefrob.h: Move declarations of program_invocation_name
50093         and program_invocation_short_name to argp.h, so they are visible
50094         to user programs.
50095         * lib/argp.h: Likewise
50096
50097 2006-09-10  Bruno Haible  <bruno@clisp.org>
50098
50099         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
50100         m4/inttypes_h.m4, m4/uintmax_t.m4.
50101
50102 2006-09-10  Bruno Haible  <bruno@clisp.org>
50103
50104         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
50105         gl_AC_TYPE_UINTMAX_T.
50106
50107 2006-09-10  Bruno Haible  <bruno@clisp.org>
50108
50109         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
50110
50111 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
50112
50113         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
50114         convention.  Text proposed by Bruno Haible.
50115         (struct argp_option): Document the use of N_() wrappers.
50116
50117         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
50118         '\v', and translate the two parts separately, instead of feeding
50119         the whole string to gettext.  This allows to exclude
50120         '\v' from the strings visible to the translator by writing doc
50121         strings as N_("..") "\v" N_("..").
50122
50123 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
50124
50125         * config/srclist.txt: Undo latest change; the bug was fixed.
50126
50127 2006-09-09  Bruno Haible  <bruno@clisp.org>
50128
50129         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
50130         assignments if building a library without libtool.
50131         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
50132         in func_emit_lib_Makefile_am.
50133         (func_import): When building a static library libfoo.a, arrange to
50134         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
50135         (func_create_testdir): Likewise.
50136         * modules/gc (configure.ac, Makefile.am): If building statically,
50137         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
50138         * modules/iconvme (configure.ac, Makefile.am): Likewise.
50139         * modules/striconv (configure.ac, Makefile.am): Likewise.
50140         Based on a suggestion by Ralf Wildenhues.
50141
50142 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
50143
50144         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
50145         Check for unistd.h too, since Autoconf doesn't assume POSIX.
50146         Also:
50147
50148         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
50149         Add year_2050_test to catch glibc bug 2821
50150         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
50151
50152         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
50153         Prefer #ifdef to #if.
50154
50155         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
50156         Return from 'main' instead of calling 'exit'.
50157
50158 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
50159
50160         * lib/mktime.c (guess_time_tm): Fix bug where mktime
50161         returned the maximum time_t value rather than (time_t) -1.
50162         Problem originally reported by William Bardwell
50163         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
50164
50165         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
50166         Moved to here ...
50167         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
50168         ... from here.
50169
50170 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
50171
50172         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
50173         2821 is fixed.
50174
50175 2006-09-08  Jim Meyering  <jim@meyering.net>
50176
50177         Don't make generated files read-only.  That would bother too many
50178         people.  However, do retain the ability to work when targets are
50179         read-only: remove the destination and temporary files before writing
50180         them (when generated via sed or echo), or by using the -f option for
50181         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
50182         * modules/alloca-opt, modules/argz, modules/arpa_inet:
50183         * modules/byteswap, modules/configmake, modules/fcntl:
50184         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
50185         * modules/localcharset, modules/netinet_in, modules/poll:
50186         * modules/stdbool, modules/stdint, modules/sys_select:
50187         * modules/sys_socket, modules/sys_stat, modules/sysexits:
50188
50189 2006-09-08  Jim Meyering  <jim@meyering.net>
50190
50191         Avoid new build failure on FreeBSD 6.0.
50192         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
50193         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
50194         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
50195
50196 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50197
50198         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
50199
50200 2006-09-07  Jim Meyering  <jim@meyering.net>
50201
50202         Fix global typo in last change: use chmod u-w, not chmod u-x.
50203         Spotted by Paul Eggert and Bruce Korb.
50204         * modules/alloca-opt, modules/argz, modules/arpa_inet:
50205         * modules/byteswap, modules/configmake, modules/fcntl:
50206         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
50207         * modules/localcharset, modules/netinet_in, modules/poll:
50208         * modules/stdbool, modules/stdint, modules/sys_select:
50209         * modules/sys_socket, modules/sys_stat, modules/sysexits:
50210
50211 2006-09-06  Jim Meyering  <jim@meyering.net>
50212
50213         Make generated files be read-only.
50214         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
50215         Ensure that each generated file is now read-only.
50216         * modules/argz: Likewise.
50217         * modules/arpa_inet: Likewise.
50218         * modules/byteswap: Likewise.
50219         * modules/configmake: Likewise.
50220         * modules/fcntl: Likewise.
50221         * modules/fnmatch: Likewise.
50222         * modules/getopt: Likewise.
50223         * modules/glob: Likewise.
50224         * modules/inttypes: Likewise.
50225         * modules/netinet_in: Likewise.
50226         * modules/poll: Likewise.
50227         * modules/stdbool: Likewise.
50228         * modules/stdint: Likewise.
50229         * modules/sys_select: Likewise.
50230         * modules/sys_socket: Likewise.
50231         * modules/sys_stat: Likewise.
50232         * modules/sysexits: Likewise.
50233         * modules/localcharset: Same as above, but continue using temporary
50234         file named "t-$@" (why different?) rather than the "$@-t" used
50235         everywhere else.
50236
50237         * modules/sysexits (Makefile.am): Replace literal occurrences
50238         of "sysexit.h" more readable, and more consistent, "$@".
50239
50240 2006-09-06  Bruno Haible  <bruno@clisp.org>
50241
50242         * modules/striconv: New file.
50243         * modules/xstriconv: New file.
50244         * MODULES.html.sh (Internationalization functions): Add striconv,
50245         xstriconv.
50246
50247 2006-09-06  Bruno Haible  <bruno@clisp.org>
50248
50249         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
50250         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
50251         not using libtool correctly.
50252
50253 2006-09-06  Bruno Haible  <bruno@clisp.org>
50254
50255         * lib/striconv.h: New file.
50256         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
50257         iconvstring.c.
50258         * lib/xstriconv.h: New file.
50259         * lib/xstriconv.c: New file.
50260
50261 2006-09-06  Bruno Haible  <bruno@clisp.org>
50262
50263         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
50264         lib_..._LDFLAGS.
50265
50266 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50267
50268         * lib/argz_.h: Sync from Libtool.
50269
50270         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
50271                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
50272
50273         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
50274
50275 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
50276
50277         * modules/trim: New file.
50278
50279 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
50280
50281         * lib/trim.h: New file.
50282         * lib/trim.c: New file.
50283
50284 2006-09-05  Bruno Haible  <bruno@clisp.org>
50285
50286         * MODULES.html.sh (String handling): Add trim.
50287
50288 2006-09-04  Karl Berry  <karl@gnu.org>
50289
50290         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
50291         until next release.
50292
50293 2006-09-03  Bruno Haible  <bruno@clisp.org>
50294
50295         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
50296         correctly.
50297
50298 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
50299
50300         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
50301         not gl_GETLOADAVG.  Omit unneeded semicolons.
50302         Problems reported by Ralf Wildenhues in
50303         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
50304         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
50305         at the end, which is the usual gnulib style.
50306
50307         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
50308         of doing all the work ourselves.
50309         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
50310         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
50311
50312 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
50313
50314         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
50315         Problem reported by Ralf Wildenhues in
50316         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
50317
50318         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
50319         HAVE_STRUCT_STATFS_F_FSTYPENAME.
50320
50321 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
50322
50323         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
50324         yesterday's patch by changing test -n to test -z.
50325
50326 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
50327
50328         * modules/getloadavg (Files): Add m4/getloadavg.m4.
50329         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
50330         the former is now obsolescent.
50331
50332         * modules/chdir-long (Depends-on): Add fcntl.
50333
50334 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
50335
50336         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
50337         obsolescent, and programs should use gnulib instead.
50338         * m4/getloadavg.m4: New file, with contents taken from Autoconf
50339         but with prefixes changed.
50340
50341 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
50342
50343         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
50344         or stdbool.h, because they might not exist while configuring.
50345
50346         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
50347         Don't include unistd.h or limits.h; not needed, since chdir-long.h
50348         does that for us.
50349         (O_DIRECTORY): Remove.
50350
50351 2006-08-31  Eric Blake  <ebb9@byu.net>
50352
50353         * gnulib-tool: Don't let emacs change spaces to TAB.
50354
50355 2006-08-31  Bruno Haible  <bruno@clisp.org>
50356
50357         * gnulib-tool: When calling func_import more than once, do it in a
50358         subshell.
50359         Reported by Eric Blake <ebb9@byu.net>.
50360
50361 2006-08-31  Bruno Haible  <bruno@clisp.org>
50362
50363         * gnulib-tool (nl): Remove variable.
50364         (sed_transform_lib_file): Use more robust test for config-h module.
50365         (func_import): Fix typo in 2006-08-25 patch.
50366
50367 2006-08-31  Bruno Haible  <bruno@clisp.org>
50368
50369         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
50370         specified, augment Makefile.am variables instead of assigning them.
50371
50372 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
50373
50374         Work around a bug in both the Linux and SunOS 64-bit kernels:
50375         nanosleep mishandles sleeps for longer than 2**31 seconds.
50376         Problem reported by Frank v Waveren in
50377         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
50378         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
50379         Check for nanosleep bug.
50380         (LIB_NANOSLEEP): Append clock_gettime library if needed.
50381
50382 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
50383
50384         Work around a bug in both the Linux and SunOS 64-bit kernels:
50385         nanosleep mishandles sleeps for longer than 2**31 seconds.
50386         Problem reported by Frank v Waveren in
50387         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
50388         * lib/nanosleep.c (BILLION): New constant.
50389         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
50390         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
50391         implementation.
50392
50393 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
50394
50395         * modules/nanosleep (Depends-on): Add gettime.
50396
50397 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
50398         and Simon Josefsson  <jas@extundo.com>
50399         and Oskar Liljeblad  <oskar@osk.mine.nu>
50400
50401         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
50402         * gnulib-tool (func_import): New license type 'unmodifiable license
50403         text'.
50404         * modules/fdl: Use it.  Longer description.
50405         * module/gpl, module/lgpl: New files.
50406
50407 2006-08-30  Jim Meyering  <jim@meyering.net>
50408
50409         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
50410         shadowing the parameter.
50411
50412 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50413
50414         Sync from Libtool:
50415
50416         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50417
50418         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
50419         sharing with gnulib.  Report by Eric Blake.
50420
50421 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
50422
50423         * modules/isapipe: New file.
50424         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
50425
50426 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
50427
50428         * modules/configmake (Makefile.am): Add a comment, and omit
50429         the CONFIGMAKE_ prefix from generated macro names.  Suggested
50430         by Bruno Haible.
50431
50432 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
50433
50434         * m4/isapipe.m4: New file.
50435
50436 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
50437
50438         * lib/isapipe.c, lib/isapipe.h: New files.
50439
50440 2006-08-29  Jim Meyering  <jim@meyering.net>
50441
50442         * modules/configmake (Makefile.am): Make configmake.h depend on
50443         Makefile.  Otherwise, a stale configmake.h could hang around.
50444
50445 2006-08-29  Eric Blake  <ebb9@byu.net>
50446
50447         * lib/error.c (error_at_line, print_errno_message): Match libc, after
50448         resolution of upstream bug 3044.
50449
50450 2006-08-29  Bruno Haible  <bruno@clisp.org>
50451
50452         * modules/localcharset (Depends-on): Add configmake.
50453         (Makefile.am): Remove setting of LIBDIR through DEFS.
50454
50455 2006-08-29  Bruno Haible  <bruno@clisp.org>
50456
50457         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
50458         defined.
50459
50460 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
50461
50462         * modules/fcntl: New file.
50463         * modules/chdir-safer (Depends-on): Add fcntl.
50464         * modules/fts: Likewise.
50465         * modules/mkdir-p: Likewise.
50466
50467         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
50468         This undoes the most recent change, since we're now addressing the
50469         problem in a different way.
50470
50471         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
50472         into output, since the output might be called Makefile.am even
50473         if $makefile_name is something different.
50474         (func_import): Use $makefile_am rather than
50475         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
50476         empty.
50477
50478         * modules/inttypes (Files): Add m4/inttypes-h.m4.
50479
50480 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
50481
50482         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
50483         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
50484         recent change to stdint.m4, since we're now addressing the problem in a
50485         different way.
50486
50487 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
50488
50489         * m4/fcntl_h.m4: New file.
50490
50491 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
50492
50493         * lib/fcntl_.h: New file.
50494         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
50495         the fcntl module.
50496         * lib/dirchownmod.c: Likewise.
50497         * lib/fts.c: Likewise.
50498
50499         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
50500         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
50501         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
50502         just before including <inttypes.h>, to avoid circular inclusion.
50503
50504 2006-08-28  Jim Meyering  <jim@meyering.net>
50505
50506         * doc/visibility.texi: Actually read and correct the grammar of the
50507         sentence affected by yesterday's change.
50508
50509 2006-08-28  Eric Blake  <ebb9@byu.net>
50510
50511         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
50512         needs wrapper.
50513
50514 2006-08-28  Eric Blake  <ebb9@byu.net>
50515
50516         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
50517
50518 2006-08-28  Eric Blake  <ebb9@byu.net>
50519
50520         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
50521
50522 2006-08-28  Bruno Haible  <bruno@clisp.org>
50523
50524         * modules/c-strstr: New file, from GNU gettext.
50525         * MODULES.html.sh (String handling): Add c-strstr.
50526
50527 2006-08-28  Bruno Haible  <bruno@clisp.org>
50528
50529         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
50530         macros.
50531         Reported by Eric Blake.
50532
50533 2006-08-28  Bruno Haible  <bruno@clisp.org>
50534
50535         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
50536         (VASNPRINTF): Return a string of length > INT_MAX without failing.
50537         * lib/vasprintf.c: Include errno.h, limits.h.
50538         (EOVERFLOW): New fallback definition.
50539         (vasprintf): Test here whether the string length is > INT_MAX.
50540         * lib/vsnprintf.c: Include errno.h, limits.h.
50541         (EOVERFLOW): New fallback definition.
50542         (vsnprintf): Fix bug when generated string was too long for the buffer.
50543         Test here whether the string length is > INT_MAX.
50544
50545 2006-08-28  Bruno Haible  <bruno@clisp.org>
50546
50547         * lib/inttypes_.h (SCNX*): Remove definitions.
50548         Reported by Eric Blake.
50549
50550 2006-08-28  Bruno Haible  <bruno@clisp.org>
50551
50552         * lib/c-strstr.h: New file, from GNU gettext.
50553         * lib/c-strstr.c: New file, from GNU gettext.
50554
50555 2006-08-28  Bruno Haible  <bruno@clisp.org>
50556
50557         * gnulib-tool: Reorder some statements.
50558
50559 2006-08-28  Bruno Haible  <bruno@clisp.org>
50560
50561         * gnulib-tool: New option --makefile-name.
50562         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
50563         $makefile_name.
50564         (func_import): Write $makefile_name to the cache file, and read it from
50565         there unless explicitly specified. Use $makefile_name as file name
50566         instead of Makefile.am. Adjust the recommendations accordingly.
50567
50568 2006-08-28  Bruno Haible  <bruno@clisp.org>
50569
50570         * gnulib-tool (func_verify_module): Check against misapplying patch.
50571
50572 2006-08-28  Bruno Haible  <bruno@clisp.org>
50573
50574         * gnulib-tool (func_relativize, func_relconcat): New functions.
50575         Give an error if --local-dir is given with --update.
50576         Remove trailing slashes from $local_gnulib_dir.
50577         (func_import): Store the relativized $local_gnulib_dir in
50578         gnulib-cache.m4, and read it from there if not specified explicitly.
50579
50580 2006-08-28  Bruno Haible  <bruno@clisp.org>
50581
50582         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
50583         is the current directory. Respect also $local_gnulib_dir.
50584
50585 2006-08-28  Bruno Haible  <bruno@clisp.org>
50586             Simon Josefsson  <jas@extundo.com>
50587
50588         BeOS portability.
50589         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
50590
50591 2006-08-27  Jim Meyering  <jim@meyering.net>
50592
50593         * doc/visibility.texi: Remove duplicate word: "pointer".
50594
50595 2006-08-26  Bruno Haible  <bruno@clisp.org>
50596
50597         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
50598         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
50599         (Makefile.am): Create inttypes.h from inttypes_.h.
50600         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
50601
50602         * modules/imaxabs: New file.
50603
50604         * modules/imaxdiv: New file.
50605
50606 2006-08-26  Bruno Haible  <bruno@clisp.org>
50607
50608         * m4/inttypes.m4: New file.
50609         * m4/_inttypes_h.m4: Remove file.
50610         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
50611         PRI_MACROS_BROKEN.
50612         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
50613
50614         * m4/imaxabs.m4: New file.
50615
50616         * m4/imaxdiv.m4: New file.
50617
50618 2006-08-26  Bruno Haible  <bruno@clisp.org>
50619
50620         * lib/inttypes_.h: New file.
50621         * lib/inttypes.h: Remove file.
50622         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
50623
50624         * lib/imaxabs.c: New file.
50625
50626         * lib/imaxdiv.c: New file.
50627
50628 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
50629
50630         New config-h module, so that "make" output needn't be cluttered
50631         by -DHAVE_CONFIG_H.
50632         * MODULES.html.sh (Support for building libraries and executables):
50633         Add config-h.
50634         * modules/config-h: New file.
50635         * gnulib-tool (nl, sed_transform_lib_file): New vars.
50636         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
50637         the config-h module is used.
50638
50639         New configmake module, so that "make" output needn't be cluttered
50640         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
50641         * MODULES.html.sh (Support for building libraries and executables):
50642         Add configmake.
50643         * modules/configmake: New file.
50644
50645 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
50646
50647         * m4/config-h.m4: New file.
50648
50649 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
50650
50651         * config/srclist.txt: Add elisp-comp.
50652
50653 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
50654
50655         * MODULES.html.sh (Support for building libraries and executables):
50656         Add elisp-comp.
50657         * build-aux/elisp-comp: New file.
50658         * modules/elisp-comp: New file.
50659
50660 2006-08-24  Bruno Haible  <bruno@clisp.org>
50661
50662         * gnulib-tool (func_create_testdir): Use non-default values of
50663         sourcebase and m4base.
50664
50665 2006-08-24  Bruno Haible  <bruno@clisp.org>
50666
50667         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
50668         HTML structure.
50669
50670 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
50671
50672         * modules/openat (Depends-on): Add lchown.
50673
50674 2006-08-23  Bruno Haible  <bruno@clisp.org>
50675
50676         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
50677         of gl_LOCK_EARLY instead of gl_LOCK.
50678
50679 2006-08-23  Bruno Haible  <bruno@clisp.org>
50680
50681         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
50682         on OSF/1 to no.
50683         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
50684
50685 2006-08-23  Bruno Haible  <bruno@clisp.org>
50686
50687         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
50688         as unusable.
50689
50690         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
50691         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
50692         (gl_LOCK): New macro.
50693
50694 2006-08-22  Simon Josefsson  <jas@extundo.com>
50695
50696         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
50697         to md5 module.
50698
50699 2006-08-22  Simon Josefsson  <jas@extundo.com>
50700
50701         * MODULES.html.sh: Add "Support for maintaining and release
50702         projects".
50703
50704         * build-aux/gnupload: New file, from coreutils.
50705
50706 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
50707
50708         Avoid the need for AC_LIBSOURCES in m4 macros.
50709         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
50710         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
50711         * modules/check-version (EXTRA_DIST): Add check-version.h.
50712         * modules/crc (EXTRA_DIST): Add crc.h.
50713         * modules/des (EXTRA_DIST): Add des.h.
50714         * modules/gc (EXTRA_DIST): Add gc.h.
50715         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
50716         * modules/getline (EXTRA_DIST): Add getline.h.
50717         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
50718         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
50719         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
50720         * modules/md2 (EXTRA_DIST): Add md2.h.
50721         * modules/md4 (EXTRA_DIST): Add md4.h.
50722         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
50723         * modules/read-file (EXTRA_DIST): Add read-file.h.
50724         * modules/readline (EXTRA_DIST): Add readline.h.
50725         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
50726         rijndael-api-fst.h.
50727
50728 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
50729
50730         * m4/rijndael.m4 (gl_ARCFOUR):
50731         * m4/arctwo.m4 (gl_ARCTWO):
50732         * m4/check-version.m4 (gl_CHECK_VERSION):
50733         * m4/crc.m4 (gl_CRC):
50734         * m4/des.m4 (gl_DES):
50735         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
50736         * m4/gc.m4 (gl_GC):
50737         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
50738         * m4/getline.m4 (gl_FUNC_GETLINE):
50739         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
50740         * m4/hmac-md5.m4 (gl_HMAC_MD5):
50741         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
50742         * m4/md2.m4 (gl_MD2):
50743         * m4/md4.m4 (gl_MD4):
50744         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
50745         * m4/read-file.m4 (gl_FUNC_READ_FILE):
50746         * m4/readline.m4 (gl_FUNC_READLINE):
50747         * m4/rijndael.m4 (gl_RIJNDAEL):
50748         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
50749         to get the necessary .h files and whatnot.
50750
50751 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
50752
50753         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
50754         gnulib rather than the other way around.
50755         * config/srclistvars.sh (COREUTILS): Remove.
50756
50757 2006-08-22  Jim Meyering  <jim@meyering.net>
50758
50759         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
50760
50761         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
50762
50763 2006-08-22  Eric Blake  <ebb9@byu.net>
50764
50765         * modules/regexprops-generic: New file.
50766         * MODULES.html.sh (Support for building documentation): List it.
50767
50768 2006-08-22  Eric Blake  <ebb9@byu.net>
50769
50770         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
50771         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
50772         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
50773         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
50774
50775 2006-08-22  Bruno Haible  <bruno@clisp.org>
50776
50777         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
50778         and lib_LTLIBRARIES like the other lib_* variables.
50779
50780 2006-08-22  Bruno Haible  <bruno@clisp.org>
50781
50782         * build-aux/x-to-1.in: New file, from GNU gettext.
50783
50784 2006-08-22  Bruno Haible  <bruno@clisp.org>
50785
50786         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
50787         <utmpx.h> exists.
50788
50789 2006-08-22  Bruno Haible  <bruno@clisp.org>
50790
50791         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
50792         <utmpx.h> exists.
50793
50794 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
50795
50796         BeOS portability.
50797         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
50798         exist.
50799         Problem reported by Bruno Haible.
50800
50801 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
50802
50803         Avoid the need for AC_LIBSOURCES in m4 macros.
50804         * modules/acl (EXTRA_DIST): Add acl.h.
50805         * modules/argmatch (Files): Add m4/argmatch.m4.
50806         (configure.ac): Add gl_ARGMATCH.
50807         (EXTRA_DIST): Renamed from lib_SOURCES, for
50808         consistency with the other modules.  Remove argmatch.c.
50809         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
50810         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
50811         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
50812         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
50813         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
50814         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
50815         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
50816         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
50817         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
50818         * modules/closeout (EXTRA_DIST): Add closeout.h.
50819         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
50820         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
50821         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
50822         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
50823         dirname.h; remove basename.c and stripslash.c.
50824         * modules/exclude (EXTRA_DIST): Add exclude.h.
50825         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
50826         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
50827         * modules/file-type (EXTRA_DIST): Add file-type.h.
50828         * modules/filemode (EXTRA_DIST): Add filemode.h.
50829         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
50830         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
50831         * modules/fpending (EXTRA_DIST): Add __fpending.h.
50832         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
50833         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
50834         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
50835         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
50836         * modules/getdate (EXTRA_DIST): Add getdate.c.
50837         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
50838         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
50839         * modules/getpass (EXTRA_DIST): Add getpass.h.
50840         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
50841         * modules/group-member (EXTRA_DIST): Add group-member.h.
50842         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
50843         * modules/hash (EXTRA_DIST): Add hash.h.
50844         * modules/human (EXTRA_DIST): Add human.h.
50845         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
50846         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
50847         * modules/lchown (EXTRA_DIST): Add lchown.h.
50848         * modules/long-options (EXTRA_DIST): Add long-options.h.
50849         * modules/lstat (EXTRA_DIST): Add lstat.h.
50850         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
50851         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
50852         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
50853         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
50854         * modules/memxor (EXTRA_DIST): Add memxor.h.
50855         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
50856         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
50857         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
50858         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
50859         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
50860         * modules/physmem (EXTRA_DIST): Add physmem.h.
50861         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
50862         * modules/posixver (EXTRA_DIST): Add posixver.h.
50863         * modules/quote (EXTRA_DIST): Add quote.h.
50864         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
50865         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
50866         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
50867         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
50868         regex_internal.h regexec.c.
50869         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
50870         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
50871         * modules/same (EXTRA_DIST): Add same.h.
50872         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
50873         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
50874         * modules/savedir (EXTRA_DIST): Add savedir.h.
50875         * modules/sha1 (EXTRA_DIST): Add sha1.h.
50876         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
50877         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
50878         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
50879         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
50880         * modules/strdup (EXTRA_DIST): Add strdup.h.
50881         * modules/strftime (EXTRA_DIST): Add strftime.h.
50882         * modules/strndup (EXTRA_DIST): Add strndup.h.
50883         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
50884         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
50885         * modules/time_r (EXTRA_DIST): Add time_r.h.
50886         * modules/timespec (EXTRA_DIST): Add timespec.h.
50887         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
50888         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
50889         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
50890         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
50891         * modules/userspec (EXTRA_DIST): Add userspec.h.
50892         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
50893         * modules/utimens (EXTRA_DIST): Add utimens.h.
50894         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
50895         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
50896         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
50897         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
50898         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
50899         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
50900         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
50901         * modules/yesno (EXTRA_DIST): Add yesno.h.
50902
50903 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
50904
50905         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
50906
50907         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
50908         * m4/dev-ino.m4, same-inode.m4: Remove.
50909
50910         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
50911         * m4/acl.m4 (AC_FUNC_ACL):
50912         * m4/backupfile.m4 (gl_BACKUPFILE):
50913         * m4/c-strtod.m4 (gl_C99_STRTOLD):
50914         * m4/canon-host.m4 (gl_CANON_HOST):
50915         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
50916         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
50917         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
50918         * m4/cloexec.m4 (gl_CLOEXEC):
50919         * m4/close-stream.m4 (gl_CLOSE_STREAM):
50920         * m4/closeout.m4 (gl_CLOSEOUT):
50921         * m4/dirfd.m4 (gl_FUNC_DIRFD):
50922         * m4/dirname.m4 (gl_DIRNAME):
50923         * m4/exclude.m4 (gl_EXCLUDE):
50924         * m4/exitfail.m4 (gl_EXITFAIL):
50925         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
50926         * m4/file-type.m4 (gl_FILE_TYPE):
50927         * m4/filemode.m4 (gl_FILEMODE):
50928         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
50929         * m4/fpending.m4 (gl_FUNC_FPENDING):
50930         * m4/fprintftime.m4 (gl_FPRINTFTIME):
50931         * m4/fts.m4 (gl_FUNC_FTS):
50932         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
50933         * m4/getdate.m4 (gl_GETDATE):
50934         * m4/gethrxtime.m4 (gl_GETHRXTIME):
50935         * m4/getpagesize.m4 (gl_GETPAGESIZE):
50936         * m4/getpass.m4 (gl_FUNC_GETPASS):
50937         * m4/gettime.m4 (gl_GETTIME):
50938         * m4/getugroups.m4 (gl_GETUGROUPS):
50939         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
50940         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
50941         * m4/hard-locale.m4 (gl_HARD_LOCALE):
50942         * m4/hash.m4 (gl_HASH):
50943         * m4/idcache.m4 (gl_IDCACHE):
50944         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
50945         * m4/lchown.m4 (gl_FUNC_LCHOWN):
50946         * m4/long-options.m4 (gl_LONG_OPTIONS):
50947         * m4/lstat.m4 (gl_FUNC_LSTAT):
50948         * m4/md5.m4 (gl_MD5):
50949         * m4/memcasecmp.m4 (gl_MEMCASECMP):
50950         * m4/memcoll.m4 (gl_MEMCOLL):
50951         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
50952         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
50953         * m4/memxor.m4 (gl_MEMXOR):
50954         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
50955         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
50956         * m4/modechange.m4 (gl_MODECHANGE):
50957         * m4/mountlist.m4 (gl_MOUNTLIST):
50958         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
50959         * m4/openat.m4 (gl_FUNC_OPENAT):
50960         * m4/pathmax.m4 (gl_PATHMAX):
50961         * m4/physmem.m4 (gl_PHYSMEM):
50962         * m4/posixtm.m4 (gl_POSIXTM):
50963         * m4/posixver.m4 (gl_POSIXVER):
50964         * m4/quote.m4 (gl_QUOTE):
50965         * m4/quotearg.m4 (gl_QUOTEARG):
50966         * m4/readtokens.m4 (gl_READTOKENS):
50967         * m4/readutmp.m4 (gl_READUTMP):
50968         * m4/regex.m4 (gl_REGEX):
50969         * m4/safe-read.m4 (gl_SAFE_READ):
50970         * m4/safe-write.m4 (gl_SAFE_WRITE):
50971         * m4/same.m4 (gl_SAME):
50972         * m4/save-cwd.m4 (gl_SAVE_CWD):
50973         * m4/savedir.m4 (gl_SAVEDIR):
50974         * m4/settime.m4 (gl_SETTIME):
50975         * m4/sha1.m4 (gl_SHA1):
50976         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
50977         * m4/stat-macros.m4 (gl_STAT_MACROS):
50978         * m4/stat-time.m4 (gl_STAT_TIME):
50979         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
50980         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
50981         * m4/strdup.m4 (gl_FUNC_STRDUP):
50982         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
50983         * m4/strndup.m4 (gl_FUNC_STRNDUP):
50984         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
50985         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
50986         * m4/time_r.m4 (gl_TIME_R):
50987         * m4/timespec.m4 (gl_TIMESPEC):
50988         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
50989         * m4/unlinkdir.m4 (gl_UNLINKDIR):
50990         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
50991         * m4/userspec.m4 (gl_USERSPEC):
50992         * m4/utimecmp.m4 (gl_UTIMECMP):
50993         * m4/utimens.m4 (gl_UTIMENS):
50994         * m4/xalloc.m4 (gl_XALLOC):
50995         * m4/xgetcwd.m4 (gl_XGETCWD):
50996         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
50997         * m4/xreadlink.m4 (gl_XREADLINK):
50998         * m4/xstrtod.m4 (gl_XSTRTOD):
50999         * m4/yesno.m4 (gl_YESNO):
51000         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
51001         to get the necessary .h files and whatnot.
51002
51003 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
51004             Bruno Haible  <bruno@clisp.org>
51005
51006         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
51007         /bin/sh understanding of '!' conditional negation.
51008
51009 2006-08-21  Jim Meyering  <jim@meyering.net>
51010
51011         * modules/openat (Depends-on): Really alphabetize.
51012
51013         * modules/acl (Depends-on): Add error and quote.
51014
51015         * check-module (find_included_lib_files): Add at-func.c to the
51016         ok-to-include-more-than-once white list.
51017
51018         * modules/openat (Depends-on): Add lstat.  Alphabetize.
51019
51020 2006-08-21  Bruno Haible  <bruno@clisp.org>
51021
51022         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
51023         Emit a pkgdata_DATA variable only if some snippets add contents to it.
51024         Reported by Martin Lambers <marlam@marlam.de>.
51025
51026 2006-08-21  Bruno Haible  <bruno@clisp.org>
51027
51028         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
51029         specify an installation location, don't emit a noinst_LIBRARIES or
51030         noinst_LTLIBRARIES assignment.
51031
51032 2006-08-21  Bruno Haible  <bruno@clisp.org>
51033
51034         BeOS portability.
51035         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
51036         BeOS has mbrtowc() but no <wctype.h>.
51037
51038 2006-08-21  Bruno Haible  <bruno@clisp.org>
51039
51040         BeOS portability.
51041         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
51042         exist.
51043
51044 2006-08-21  Bruno Haible  <bruno@clisp.org>
51045
51046         BeOS portability.
51047         * lib/mbchar.h: Include <wctype.h> only if it exists.
51048
51049 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
51050
51051         Remove files that are no longer needed by their respective modules.
51052         * m4/obstack.m4: Remove.
51053         * m4/strerror_r.m4: Remove.
51054         * m4/uint32_t.m4: Remove.
51055         * m4/uintptr_t.m4: Remove.
51056         * m4/ullong_max.m4: Remove.
51057         * m4/xstrtoimax.m4: Remove.
51058         * m4/xstrtoumax.m4: Remove.
51059
51060         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
51061         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
51062         dependencies now capture this.
51063
51064         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
51065         Do not use AC_LIBSOURCES, since gnulib modules now do this.
51066         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
51067         * m4/human.m4 (gl_HUMAN): Likewise.
51068         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
51069         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
51070
51071         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
51072
51073         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
51074         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
51075         stdint.
51076         * m4/human.m4 (gl_HUMAN): Likewise.
51077         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
51078         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
51079         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
51080         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
51081         * m4/xstrtol (gl_XSTRTOL): Likewise.
51082
51083         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
51084         AC_TYPE_LONG_LONG_INT.
51085         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
51086         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
51087         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
51088         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
51089
51090         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
51091         on stdbool.
51092
51093         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
51094         (gl_PREREQ_XSTRTOUL): Remove.
51095
51096         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
51097
51098         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
51099         mode.
51100
51101 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
51102
51103         Add and change modules to make it easier for coreutils to use
51104         gnulib-tool.
51105         * modules/backupfile (Files): Remove m4/d-ino.m4.
51106         (Depends-on): Add d-ino.
51107         * modules/cycle-check (Depends-on): Add stdint.
51108         (lib_SOURCES): Add cycle-check.h.
51109         * modules/d-ino: New module.
51110         * modules/d-type: New module.
51111         * modules/error (Files): Remove m4/strerror_r.m4.
51112         * modules/filemode (Files): Add m4/st_dm_mode.m4.
51113         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
51114         m4/inttypes_h.m4, m4/uintmax_t.m4.
51115         (Depends-on): Add stdint.
51116         (lib_SOURCES): Add fsusage.h.
51117         * modules/getcwd (Files): Remove d-ino.m4.
51118         (Depends-on): Add d-ino.
51119         * modules/getndelim2 (Depends-on): Add stdint.
51120         * modules/glob (Files): Remove m4/d-type.m4.
51121         (Depends-on): Add d-type.
51122         * modules/host-os: New module.
51123         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
51124         m4/inttypes_h.m4, m4/uintmax_t.m4.
51125         * Depends-on: Add stdint.
51126         (lib_SOURCES): Add human.h.
51127         * modules/inttostr (Files): Remove m4/intmax_t.m4,
51128         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
51129         m4/uintmax_t.m4, m4/ulonglong.m4.
51130         (Depends-on): Add stdint.
51131         (EXTRA_DIST): Add inttostr.h.
51132         * modules/lchmod: New module.
51133         * modules/link-follow: New module.
51134         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
51135         (Depends-on): Add lchmod.
51136         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
51137         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
51138         (Depends-on): Add stdint.
51139         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
51140         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
51141         (Depends-on): Add stdint.
51142         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
51143         * modules/perl: New module.
51144         * modules/regex (Depends-on): Add stdint.
51145         * modules/rmdir-errno: New module.
51146         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
51147         m4/intmax_t.m4.
51148         (Depends-on): Add stdint.
51149         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
51150         m4/uintmax_t.m4.
51151         (Depends-on): Add stdint.
51152         * modules/unlink-busy: New module.
51153         * modules/utimecmp (Depends-on): Add stdint.
51154         * modules/uptime: New module.
51155         * modules/winsz-ioctl: New module.
51156         * modules/winsz-termios: New module.
51157         * modules/xnanosleep (Depends-on): Add nanosleep.
51158         * modules/ullong_max: Remove.
51159         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
51160         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
51161         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
51162         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
51163         (Depends-on): Add inttypes.
51164         (lib_SOURCES): Add xstrtol.h.
51165         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
51166         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
51167         * MODULES.html.sh: Move 'assert' into the assert section.
51168         Move 'dummy' into the linking section.
51169         Remove ullong_max.
51170         Add section for compatibility checks for POSIX:2001 functions,
51171         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
51172         winsz-ioctl, and winsz-termios into it.
51173         Add lchmod.
51174         Add top-level Misc section and put host-os, perl, and uptime
51175         into it.
51176
51177 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
51178
51179         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
51180         now assume the stdint module.  Do not include inttypes.h.
51181         * lib/fsusage.h: Likewise.
51182         * lib/getndelim2.c: Likewise.
51183         * lib/human.h: Likewise.
51184         * lib/inttostr.h: Likewise.
51185         * lib/obstack.c: Likewise.
51186         * lib/regex_internal.h: Likewise.
51187         * lib/tempname.c: Likewise.
51188         * lib/utimecmp.c: Likewise.
51189         * lib/xstrtol.h: Likewise.
51190
51191         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
51192
51193         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
51194         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
51195         * lib/xtime.h: Likewise.
51196
51197 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
51198
51199         * modules/openat (Files): Add lib/fchmodat.c.
51200         Fixes problem reported by Jay Youngman.
51201
51202 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
51203
51204         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
51205         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
51206
51207 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
51208             Bruno Haible  <bruno@clisp.org>
51209
51210         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
51211         and is a script that invokes bison. Tighten the code. Add comments.
51212
51213 2006-08-18  Jim Meyering  <jim@meyering.net>
51214
51215         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
51216         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
51217         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
51218         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
51219
51220 2006-08-18  Bruno Haible  <bruno@clisp.org>
51221
51222         * modules/bison-i18n: New file.
51223         * MODULES.html.sh (Internationalization functions): Add it.
51224
51225 2006-08-18  Bruno Haible  <bruno@clisp.org>
51226
51227         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
51228         sys/statvfs.h. When getmntinfo was found, check its declaration and
51229         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
51230
51231 2006-08-18  Bruno Haible  <bruno@clisp.org>
51232
51233         * m4/bison-i18n.m4: New file, from bison.
51234
51235 2006-08-18  Bruno Haible  <bruno@clisp.org>
51236
51237         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
51238         (ME_DUMMY): Treat "kernfs" as a dummy.
51239         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
51240
51241 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
51242
51243         Update from coreutils.
51244
51245         2006-08-15  Jim Meyering  <jim@meyering.net>
51246
51247         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
51248
51249         2006-01-17  Jim Meyering  <jim@meyering.net>
51250
51251         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
51252
51253         2006-01-11  Jim Meyering  <jim@meyering.net>
51254
51255         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
51256         Check for the lchmod function.
51257
51258 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
51259
51260         Update from coreutils.
51261
51262         * lib/__fpending.h: Add copyright notice.
51263         * lib/fprintftime.h: Likewise.
51264         * lib/savedir.c: Use (C) in copyright notice.
51265         * lib/savedir.h: Likewise.
51266
51267         2006-08-15  Jim Meyering  <jim@meyering.net>
51268
51269         * lib/at-func.c: New file, with the logic of all emulated at-functions.
51270         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
51271         in support of the EXPECTED_ERRNO macro.
51272         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
51273         definitions.  Instead, define the appropriate symbols and include
51274         "at-func.c".
51275         * lib/mkdirat.c (mkdirat): Likewise.
51276         * lib/fchmodat.c (fchmodat): Likewise.
51277         (ENOSYS): Remove definition.
51278         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
51279         it.  Don't include "unistd--.h" -- it wasn't ever used.
51280
51281         2006-01-17  Jim Meyering  <jim@meyering.net>
51282
51283         Rewrite fts.c not to change the current working directory,
51284         by using openat, fstatat, fdopendir, etc..
51285
51286         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
51287         (HAVE_OPENAT_SUPPORT): Define.
51288         [_LIBC] (fchdir): Don't undef or define; no longer used.
51289         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
51290         Now, this `function' always succeeds, and consumes its file descriptor
51291         parameter -- so callers must not close such FDs.  Update callers.
51292         (diropen_fd, opendirat, cwd_advance_fd): New functions.
51293         (diropen): Add parameter, SP.  Adjust all callers.
51294         Implement using diropen_fd, rather than open.
51295         (fts_open): Initialize new member, fts_cwd_fd.
51296         Remove fts_rft-setting code.
51297         (fts_close): Close fts_cwd_fd, if necessary.
51298         (__opendir2): Define in terms of opendir or opendirat,
51299         depending on whether the FST_NOCHDIR flag is set.
51300         (fts_build): Since fts_safe_changedir consumes its FD, and since
51301         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
51302         and close the dup'd file descriptor upon failure.
51303         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
51304         (fts_safe_changedir): Tweak semantics to reflect that this function
51305         now calls cwd_advance_fd and hence consumes its FD argument.
51306         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
51307         [struct FTS] (fts_rft): Remove now-unused member.
51308         [struct FTS] (fts_cycle.state): Improve comment.
51309
51310         * lib/openat.c (openat_needs_fchdir): New function.
51311         * lib/openat.h (openat_needs_fchdir): Declare it.
51312
51313 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
51314
51315         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
51316         Problem and fix reported by Pádraig Brady in
51317         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
51318
51319 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
51320
51321         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
51322
51323 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
51324
51325         * lib/memcoll.c (memcoll): Optimize for the common case where the
51326         arguments are bytewise equal.
51327
51328 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
51329
51330         * doc/regexprops-generic.texi: Add a copyright notice.
51331
51332 2006-08-15  Bruno Haible  <bruno@clisp.org>
51333
51334         * modules/tmpdir (License): Change to LGPL.
51335
51336 2006-08-15  Bruno Haible  <bruno@clisp.org>
51337
51338         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
51339         module.
51340
51341 2006-08-14  Simon Josefsson  <jas@extundo.com>
51342
51343         * config/srclist.txt: Add gnupload.
51344
51345 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
51346
51347         Change copyright notice from LGPL 2 to GPL 2, since that's the
51348         standard form used in the gnulib repository.
51349         * tests/test-lock.c: Likewise.
51350         * tests/test-stdint.c: Likewise.
51351         * tests/test-tls.c: Likewise.
51352
51353         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
51354         prelude-manager.  User shorter URLs for GNU projects, without '?'.
51355         Add copyright notice.
51356
51357         * check-module: Add copyright notice.  Output a copyright
51358         notice if "--version" is specified.
51359         * modules/COPYING: New file.
51360         * tests/test-getaddrinfo.c: Add copyright notice.
51361         * tests/test-verify.c: Likewise.
51362
51363 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
51364
51365         Change copyright notice from LGPL 2 to GPL 2, since that's the
51366         standard form used in the gnulib repository.
51367         * lib/lock.c: LGPL -> GPL.
51368         * lib/lock.h: Likewise.
51369         * lib/strnlen1.c: Likewise.
51370         * lib/strnlen1.h: Likewise.
51371         * lib/tls.c: Likewise.
51372         * lib/tls.h: Likewise.
51373         * lib/tmpdir.c: Likewise.
51374
51375         * lib/TODO: Remove; this belongs only in coreutils.
51376
51377 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
51378
51379         Add copyright notices to long-enough files that lack them, since
51380         otherwise the files aren't clearly free.  Use the same notice that
51381         getdate.texi already uses.
51382         * doc/alloca-opt.texi: Add copyright notice.
51383         * doc/alloca.texi: Likewise.
51384         * doc/ctime.texi: Likewise.
51385         * doc/functions.texi: Likewise.
51386         * doc/gcd.texi: Likewise.
51387         * doc/gnulib-tool.texi: Likewise.
51388         * doc/inet_ntoa.texi: Likewise.
51389         * doc/visibility.texi: Likewise.
51390
51391         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
51392         * doc/quote.texi: Add copyright notice.
51393
51394         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
51395         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
51396         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
51397         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
51398         is now obsolete, and give a pointer to the Sun list.
51399         Add copyright notice.
51400
51401 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
51402
51403         * config/srclistvars.sh: Add copyright notice.
51404
51405 2006-08-14  Eric Blake  <ebb9@byu.net>
51406
51407         Import the following change from libc:
51408
51409         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
51410
51411         Upstream bug 2997.
51412         * lib/misc/error.c: Add space between program name and message if file
51413         name is missing.
51414
51415 2006-08-12  Karl Berry  <karl@gnu.org>
51416
51417         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
51418         remove, these originate in gnulib now.
51419
51420 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51421
51422         * doc/Makefile (standards.info standards.html standards.dvi):
51423         Also depend on make-stds.texi.
51424
51425 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
51426
51427         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
51428         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
51429
51430         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
51431         in wchar_t.  Problem reported by Eric Blake.
51432
51433         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
51434         LEN is smaller than SIZE.  Suggested by Bruno Haible.
51435         Also, help the compiler to keep LEN in a register.
51436
51437 2006-08-11  Eric Blake  <ebb9@byu.net>
51438
51439         * users.txt: Sort.  Add tar.
51440
51441 2006-08-11  Bruno Haible  <bruno@clisp.org>
51442
51443         * users.txt: New file.
51444
51445 2006-08-11  Bruno Haible  <bruno@clisp.org>
51446
51447         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
51448         before <wchar.h>. Needed for OSF/1 and BSD/OS.
51449
51450 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
51451
51452         * modules/snprintf (Depends-on): Remove minmax.
51453         (Maintainer): Add self and Bruno.
51454
51455 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
51456
51457         * lib/.cppi-disable: Add snprintf.h, socket_.h.
51458         * lib/snprintf.c: Include <errno.h> and <limits.h>.
51459         (EOVERFLOW): Define if the system does not.
51460         Do not include "minmax.h"; it wasn't used.
51461         (snprintf): Don't assume size_t promotes to an unsigned type.
51462         Fix bug when generated string was too long for the buffer: the
51463         buffer's contents are supposed to be the initial prefix of the
51464         output.  Don't assume vasnprintf returns EOVERFLOW if the size
51465         exceeds INT_MAX; do the check ourselves.
51466
51467         Import the following changes from libc:
51468
51469         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
51470
51471         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
51472         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
51473         set wc to the byte which couldn't be converted.
51474         (re_string_reconstruct): Don't clear valid_raw_len before calling
51475         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
51476         tip_context using re_string_context_at.
51477
51478         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
51479
51480         * lib/posix/regex.h: g++ still cannot handled [restrict].
51481
51482         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
51483
51484         * lib/posix/regex.h: Remove special handling for VMS.
51485
51486 2006-08-10  Jim Meyering  <jim@meyering.net>
51487
51488         * modules/same-inode: New module.
51489         * modules/dev-ino: New module.
51490         * modules/cycle-check: Depend on these modules, rather than simply
51491         including their .h files.
51492         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
51493         required via m4/cycle-check.m4.
51494         * modules/same: Depend on new same-inode module, rather than
51495         including same-inode.h.
51496         * modules/chdir-safer: New file.
51497
51498         * modules/chown (Depends-on): Add stat-macros.
51499
51500 2006-08-10  Jim Meyering  <jim@meyering.net>
51501
51502         * m4/cycle-check.m4: New file.
51503         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
51504         * m4/dev-ino.m4, m4/same-inode.m4: New files.
51505
51506 2006-08-10  Eric Blake  <ebb9@byu.net>
51507
51508         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
51509         in from original proposal.
51510
51511 2006-08-10  Eric Blake  <ebb9@byu.net>
51512         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
51513
51514         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
51515         namespace.
51516
51517 2006-08-10  Bruno Haible  <bruno@clisp.org>
51518
51519         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
51520         as well.
51521
51522 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
51523
51524         Sync from coreutils.
51525
51526         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
51527
51528         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
51529         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
51530
51531 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
51532
51533         * modules/restrict: Remove; no longer needed now that we assume
51534         Autoconf 2.59 or later.
51535         * MODULES.html.sh: Remove 'restrict'.
51536         * modules/argp (Depends-on): Remove 'restrict'.
51537         * modules/base64 (Depends-on): Likewise.
51538         * modules/gc (Depends-on): Likewise.
51539         * modules/getaddrinfo (Depends-on): Likewise.
51540         * modules/glob (Depends-on): Likewise.
51541         * modules/inet_ntop (Depends-on): Likewise.
51542         * modules/inet_pton (Depends-on): Likewise.
51543         * modules/memxor (Depends-on): Likewise.
51544         * modules/regex (Depends-on): Likewise.
51545         * modules/strtok_r (Depends-on): Likewise.
51546         * modules/time_r (Depends-on): Likewise.
51547
51548 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
51549
51550         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
51551         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
51552         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
51553         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
51554         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
51555         * m4/memxor.m4 (gl_MEMXOR): Likewise.
51556         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
51557         gl_C_RESTRICT replaced by AC_C_RESTRICT.
51558
51559         Merge from coreutils.
51560         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
51561         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
51562         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
51563         * m4/time_r.m4 (gl_TIME_R): Likewise.
51564
51565 2006-08-09  Karl Berry  <karl@gnu.org>
51566
51567         * config/srclist.txt: no more gettext-tools, per Bruno.
51568
51569 2006-08-08  Eric Blake  <ebb9@byu.net>
51570
51571         * modules/verror: New module.
51572         * MODULES.html.sh: Document it.
51573
51574 2006-08-08  Eric Blake  <ebb9@byu.net>
51575
51576         * lib/verror.h, lib/verror.c: New files.
51577
51578 2006-08-08  Eric Blake  <ebb9@byu.net>
51579
51580         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
51581         verror_at_line output complies with GNU Coding Standards even when
51582         file is NULL.
51583
51584 2006-08-07  Bruno Haible  <bruno@clisp.org>
51585
51586         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
51587         versions of AIX.
51588         Reported by Ralf Wildenhues.
51589
51590 2006-08-07  Bruno Haible  <bruno@clisp.org>
51591
51592         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
51593         in an AC_DEFUN. Needed so that the autoconf snippets can use
51594         AC_REQUIRE.
51595
51596 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51597
51598         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
51599         Initialize pkgdata_DATA.
51600         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
51601         overriding it.
51602
51603 2006-08-06  Eric Blake  <ebb9@byu.net>
51604
51605         * lib/error.h: Fold in some upstream changes from glibc.
51606         * lib/error.c: Likewise.
51607
51608 2006-08-04  Bruno Haible  <bruno@clisp.org>
51609
51610         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
51611         Make the mostlyclean-local rule depend on mostlyclean-generic.
51612         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
51613
51614 2006-07-31  Bruno Haible  <bruno@clisp.org>
51615
51616         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
51617         <stdlib.h>, <string.h>.
51618
51619 2006-07-30  Bruno Haible  <bruno@clisp.org>
51620
51621         * modules/readlink (License): Change to LGPL.
51622
51623 2006-07-30  Bruno Haible  <bruno@clisp.org>
51624
51625         * modules/javaversion (Makefile.am): Distribute javaversion.java and
51626         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
51627         set PKGDATADIR to point to it.
51628
51629 2006-07-30  Bruno Haible  <bruno@clisp.org>
51630
51631         * modules/csharpexec (configure.ac): Comment out macro invocation.
51632         * modules/javaexec (configure.ac): Likewise.
51633         * modules/javacomp-script (configure.ac): Likewise.
51634
51635         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
51636
51637 2006-07-30  Bruno Haible  <bruno@clisp.org>
51638
51639         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
51640         linked-list.
51641
51642 2006-07-30  Bruno Haible  <bruno@clisp.org>
51643
51644         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
51645
51646 2006-07-30  Bruno Haible  <bruno@clisp.org>
51647
51648         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
51649         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
51650         get removed.
51651
51652 2006-07-29  Bruno Haible  <bruno@clisp.org>
51653
51654         Make it possible for gnulib-tool to work with locally modified or
51655         augmented gnulib repositories.
51656         * gnulib-tool (func_usage): Document --local-dir option.
51657         (local_gnulib_dir): New variable.
51658         Handle --local-dir option.
51659         (func_lookup_file): New function.
51660         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
51661         (func_get_description, func_get_filelist, func_get_description,
51662         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
51663         func_get_automake_snippet, func_get_include_directive,
51664         func_get_license, func_get_maintainer): Use func_lookup_file.
51665         (func_import, func_create_testdir): Use func_lookup_file.
51666
51667 2006-07-29  Bruno Haible  <bruno@clisp.org>
51668
51669         * modules/setenv (Depends-on): Add unistd.
51670
51671 2006-07-29  Bruno Haible  <bruno@clisp.org>
51672
51673         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
51674
51675 2006-07-29  Bruno Haible  <bruno@clisp.org>
51676
51677         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
51678
51679 2006-07-29  Bruno Haible  <bruno@clisp.org>
51680
51681         * gnulib-tool (import, update): If there is no Makefile.am, look at
51682         aclocal.m4, instead of bailing out.
51683
51684 2006-07-29  Bruno Haible  <bruno@clisp.org>
51685
51686         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
51687         Categorize the options by when they are useful.
51688
51689 2006-07-29  Bruno Haible  <bruno@clisp.org>
51690
51691         * gnulib-tool (func_usage): Document option --no-libtool.
51692         Handle option --no-libtool.
51693         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
51694         for changed semantics of $libtool variable.
51695         (func_import): Likewise. If libtool is not used, show this through
51696         an option --no-libtool.
51697         (func_create_testdir): Update.
51698
51699 2006-07-29  Bruno Haible  <bruno@clisp.org>
51700
51701         * gnulib-tool (func_import): Extend error message about missing
51702         --doc-base.
51703
51704 2006-07-29  Bruno Haible  <bruno@clisp.org>
51705
51706         * gnulib-tool (func_import): Don't create the $docbase directory if
51707         there is no file to store there.
51708
51709 2006-07-29  Bruno Haible  <bruno@clisp.org>
51710
51711         * gnulib-tool (autoconf_minversion): If a --dir option is given and
51712         relevant, look for configure.ac there, not in the current directory.
51713         Also use a simple search for AC_PREREQ, not "autoconf --trace".
51714
51715 2006-07-29  Bruno Haible  <bruno@clisp.org>
51716
51717         * gnulib-tool (SORT): New variable.
51718         (func_usage): Undocument --assume-autoconf option.
51719         Remove --assume-autoconf option handling.
51720         (autoconf_minversion): Determine from the contents of configure.ac.
51721         (func_import): Remove autoconf_minversion handling.
51722         Suggested by Eric Blake.
51723
51724 2006-07-29  Bruno Haible  <bruno@clisp.org>
51725
51726         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
51727
51728 2006-07-29  Bruno Haible  <bruno@clisp.org>
51729
51730         * config/srclist.txt (*setenv.[ch]): Remove rules.
51731
51732 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51733
51734         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
51735
51736 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51737
51738         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
51739         arpa/inet.h.
51740
51741 2006-07-28  Simon Josefsson  <jas@extundo.com>
51742
51743         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
51744         * modules/inet_pton (Depends-on): Likewise.
51745
51746 2006-07-28  Simon Josefsson  <jas@extundo.com>
51747
51748         * m4/netinet_in_h.m4: New file.
51749
51750 2006-07-28  Simon Josefsson  <jas@extundo.com>
51751
51752         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
51753         #include's.
51754
51755 2006-07-28  Simon Josefsson  <jas@extundo.com>
51756
51757         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
51758         #include's.
51759
51760 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
51761
51762         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
51763         setgid on directories only if they set these bits.
51764         * lib/modechange.h: Remove obsolete comment about masks.
51765
51766 2006-07-28  Eric Blake  <ebb9@byu.net>
51767
51768         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
51769         macro expansion.
51770
51771 2006-07-28  Bruno Haible  <bruno@clisp.org>
51772
51773         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
51774
51775 2006-07-28  Bruno Haible  <bruno@clisp.org>
51776
51777         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
51778
51779 2006-07-28  Bruno Haible  <bruno@clisp.org>
51780
51781         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
51782         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
51783         Define fallbacks.
51784         Avoids link error on FreeBSD 4.x.
51785         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
51786
51787         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
51788         encoding.
51789         * lib/mbswidth.c (iswcntrl): Likewise.
51790
51791 2006-07-27  Bruno Haible  <bruno@clisp.org>
51792
51793         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
51794         test.
51795
51796 2006-07-27  Bruno Haible  <bruno@clisp.org>
51797
51798         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
51799         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
51800         defined.
51801
51802 2006-07-26  Eric Blake  <ebb9@byu.net>
51803
51804         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
51805
51806 2006-07-26  Eric Blake  <ebb9@byu.net>
51807
51808         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
51809         like mingw that lack mkstemp.
51810         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
51811         avoid compilation warning on mingw.
51812
51813 2006-07-26  Bruno Haible  <bruno@clisp.org>
51814
51815         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
51816         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
51817         INT_FAST*_MIN, INTPTR_MIN.
51818
51819 2006-07-25  Bruno Haible  <bruno@clisp.org>
51820
51821         * modules/version-etc (Depends-on): Add stdarg.
51822
51823 2006-07-25  Bruno Haible  <bruno@clisp.org>
51824
51825         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
51826         complex commands.
51827
51828 2006-07-25  Bruno Haible  <bruno@clisp.org>
51829
51830         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
51831         defined in <stdarg.h> or config.h.
51832
51833 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
51834
51835         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
51836         (gl_STDIO_SAFER): Remove.
51837
51838 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
51839
51840         * MODULES.html.sh (File stream based Input/Output):
51841         Add fopen-safer, tmpfile-safer; remove stdio-safer.
51842         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
51843         * modules/fopen-safer, modules/tmpfile-safer: New files.
51844         * modules/stdio-safer: Remove.
51845
51846 2006-07-24  Bruno Haible  <bruno@clisp.org>
51847
51848         * modules/tmpdir: New file.
51849         * MODULES.html.sh (File system functions): Add it.
51850
51851 2006-07-24  Bruno Haible  <bruno@clisp.org>
51852
51853         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
51854         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
51855
51856 2006-07-24  Bruno Haible  <bruno@clisp.org>
51857
51858         * modules/clean-temp: New file.
51859
51860 2006-07-24  Bruno Haible  <bruno@clisp.org>
51861
51862         * m4/tmpdir.m4: New file, from GNU gettext.
51863
51864 2006-07-24  Bruno Haible  <bruno@clisp.org>
51865
51866         * lib/tmpdir.h: New file, from GNU gettext.
51867         * lib/tmpdir.c: New file, from GNU gettext.
51868
51869 2006-07-24  Bruno Haible  <bruno@clisp.org>
51870
51871         * lib/clean-temp.h: New file, from GNU gettext.
51872         * lib/clean-temp.c: New file, from GNU gettext.
51873
51874 2006-07-23  Eric Blake  <ebb9@byu.net>
51875
51876         * modules/stdio-safer (Files): Add tmpfile-safer.c.
51877         (Depends-on): Add binary-io.
51878
51879 2006-07-23  Eric Blake  <ebb9@byu.net>
51880
51881         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
51882
51883 2006-07-23  Eric Blake  <ebb9@byu.net>
51884
51885         * lib/tmpfile-safer.c: New file.
51886         * lib/stdio-safer.h (fopen_safer): Add prototype.
51887         * lib/stdio--.h (tmpfile): Make safer.
51888
51889 2006-07-23  Bruno Haible  <bruno@clisp.org>
51890
51891         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
51892         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
51893         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
51894         gl_linked_remove_at): Use it.
51895
51896 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51897         and Simon Josefsson <jas@extundo.com>
51898
51899         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
51900
51901         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
51902
51903 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
51904
51905         * modules/close-stream: New file.
51906         * modules/closeout (Description): Make it clear that it exits
51907         with a diagnostic on error.
51908         (Depends-on): Add close-stream.  Remove fpending, stdbool.
51909         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
51910
51911 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
51912
51913         * m4/close-stream.m4: New file.
51914
51915 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
51916
51917         * lib/close-stream.c, lib/close-stream.h: New files.
51918
51919 2006-07-22  Bruno Haible  <bruno@clisp.org>
51920
51921         Merge from GNU gettext 0.15.
51922
51923         2006-05-01  Bruno Haible  <bruno@clisp.org>
51924
51925                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
51926
51927         2006-07-22  Bruno Haible  <bruno@clisp.org>
51928
51929                 * modules/javaversion: New file.
51930                 * MODULES.html.sh (Java): Add javaversion.
51931
51932         2006-03-12  Bruno Haible  <bruno@clisp.org>
51933
51934                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
51935
51936         2005-12-04  Bruno Haible  <bruno@clisp.org>
51937
51938                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
51939                 (untested).
51940
51941         2006-06-21  Bruno Haible  <bruno@clisp.org>
51942
51943                 Avoid warnings from recent versions of mcs.
51944                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
51945                 -o, -L, -r any more. Use options documented since mcs-1.0
51946                 instead. Similarly for -g.
51947
51948         2005-12-04  Bruno Haible  <bruno@clisp.org>
51949
51950                 * build-aux/csharpcomp.sh.in: Suffix for resources is
51951                 .resources, not .resource.
51952
51953         2005-07-09  Bruno Haible  <bruno@clisp.org>
51954
51955                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
51956                 add a .dll suffix.
51957                 Reported by Mark Junker <mjscod@gmx.de>.
51958
51959         2006-07-22  Bruno Haible  <bruno@clisp.org>
51960
51961                 * modules/gettext: Upgrade to gettext-0.15.
51962                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
51963                 m4/visibility.m4.
51964                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
51965
51966 2006-07-22  Bruno Haible  <bruno@clisp.org>
51967
51968         Merge from GNU gettext 0.15.
51969
51970         2006-03-25  Bruno Haible  <bruno@clisp.org>
51971
51972                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
51973
51974         2006-07-21  Bruno Haible  <bruno@clisp.org>
51975
51976                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
51977                 "1.1".
51978
51979         2006-05-09  Bruno Haible  <bruno@clisp.org>
51980
51981                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
51982                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
51983                 for the conftestver execution.
51984
51985         2006-05-01  Bruno Haible  <bruno@clisp.org>
51986
51987                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
51988                 optional target-version argument. Verify that the compiler
51989                 groks source of the specified source-version, or add -source
51990                 option as necessary. Verify that the compiler produces
51991                 bytecode in the specified target-version, or add -target and
51992                 -source options as necessary. Make the result of the test
51993                 available as variable CONF_JAVAC. Also log error output in
51994                 config.log.
51995
51996         2006-03-11  Bruno Haible  <bruno@clisp.org>
51997
51998                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
51999
52000         2006-05-09  Bruno Haible  <bruno@clisp.org>
52001
52002                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
52003                 CLASSPATH_SEPARATOR to a semicolon.
52004
52005         2006-03-12  Bruno Haible  <bruno@clisp.org>
52006
52007                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
52008                 available as variable CONF_JAVA, for subsequent autoconf
52009                 tests. Also log error output in config.log.
52010
52011         2006-07-19  Bruno Haible  <bruno@clisp.org>
52012
52013                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
52014                 that getline works on glibc2 systems. Needed to avoid trouble
52015                 in relocatable.c.
52016                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
52017
52018         2005-12-04  Bruno Haible  <bruno@clisp.org>
52019
52020                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
52021                 launcher (untested).
52022
52023         2005-12-04  Bruno Haible  <bruno@clisp.org>
52024
52025                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
52026
52027         2006-07-22  Bruno Haible  <bruno@clisp.org>
52028
52029                 * gettext.m4: Update from GNU gettext-0.15.
52030                 * nls.m4: Likewise.
52031                 * po.m4: Likewise.
52032                 * inttypes-pri.m4: Likewise.
52033                 * inttypes-h.m4: Renamed from inttypes.m4.
52034                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
52035
52036 2006-07-22  Bruno Haible  <bruno@clisp.org>
52037
52038         Merge from GNU gettext 0.15.
52039
52040         2005-07-05  Bruno Haible  <bruno@clisp.org>
52041
52042                 * printf-args.c (printf_fetchargs): Work around broken
52043                 definition of wint_t on mingw.
52044
52045         2005-02-12  Bruno Haible  <bruno@clisp.org>
52046
52047                 * xallocsa.h: Add extern "C" for C++.
52048
52049         2006-05-17  Bruno Haible  <bruno@clisp.org>
52050
52051                 Cygwin portability.
52052                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
52053
52054         2006-04-30  Bruno Haible  <bruno@clisp.org>
52055
52056                 * progreloc.c: Include <mach-o/dyld.h> if available.
52057                 (find_executable): Use _NSGetExecutablePath when possible.
52058
52059         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
52060
52061                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
52062                 function.
52063
52064         2005-12-29  Bruno Haible  <bruno@clisp.org>
52065
52066                 * progreloc.c (set_program_name_and_installdir): Fix
52067                 compilation error.
52068
52069         2005-12-04  Bruno Haible  <bruno@clisp.org>
52070
52071                 Cygwin portability.
52072                 * progreloc.c: Include <windows.h> also on Cygwin.
52073                 (find_executable): Add support for Cygwin.
52074                 (set_program_name_and_installdir): Handle also platforms with
52075                 nonempty EXEEXT.
52076
52077         2006-07-11  Bruno Haible  <bruno@clisp.org>
52078
52079                 * javacomp.c: Fix a comment.
52080                 Reported by Jim Meyering.
52081
52082         2006-04-30  Bruno Haible  <bruno@clisp.org>
52083
52084                 * javacomp.h (compile_java_class): Add source_version,
52085                 target_version arguments.
52086                 * javacomp.c: Rewritten to choose only a compiler that
52087                 respects the specified source_version and target_version.
52088
52089         2006-06-27  Bruno Haible  <bruno@clisp.org>
52090
52091                 Assume correct S_ISDIR macro.
52092                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
52093
52094         2006-07-22  Bruno Haible  <bruno@clisp.org>
52095
52096                 * javaversion.h: New file, from GNU gettext.
52097                 * javaversion.c: New file, from GNU gettext.
52098                 * javaversion.java: New file, from GNU gettext.
52099                 * javaversion.class: New file, from GNU gettext.
52100
52101         2006-05-17  Bruno Haible  <bruno@clisp.org>
52102
52103                 Cygwin portability.
52104                 * javaexec.c (execute_java_class): Test for jview program
52105                 also on Cygwin.
52106
52107         2006-04-09  Bruno Haible  <bruno@clisp.org>
52108
52109                 * fatal-signal.c: Don't include string.h.
52110                 (at_fatal_signal): Use a copying loop instead of memcpy.
52111
52112         2005-12-04  Bruno Haible  <bruno@clisp.org>
52113
52114                 * csharpexec.c: Add support for 'clix' launcher (untested).
52115                 (execute_csharp_using_sscli): New function.
52116                 (execute_csharp_program): Call it.
52117
52118         2006-06-21  Bruno Haible  <bruno@clisp.org>
52119
52120                 Avoid warnings from recent versions of mcs.
52121                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
52122                 -o, -L, -r any more. Use options documented since mcs-1.0
52123                 instead. Similarly for -g.
52124
52125         2005-07-09  Bruno Haible  <bruno@clisp.org>
52126
52127                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
52128                 add a .dll suffix.
52129                 Reported by Mark Junker <mjscod@gmx.de>.
52130
52131         2006-06-17  Bruno Haible  <bruno@clisp.org>
52132
52133                 * config.charset: Update for NetBSD 3.0.
52134
52135         2006-05-17  Bruno Haible  <bruno@clisp.org>
52136
52137                 Cygwin portability.
52138                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
52139
52140         2006-05-16  Bruno Haible  <bruno@clisp.org>
52141
52142                 * localcharset.c [CYGWIN]: Include <windows.h>.
52143                 (get_charset_aliases): For Cygwin, return the same CPxxx
52144                 aliases list as under WIN32.
52145                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
52146                 the environment variables. Fall back to GetACP().
52147
52148         2006-04-05  Bruno Haible  <bruno@clisp.org>
52149
52150                 * config.charset: Update Juan Manuel Guerrero's address.
52151
52152         2005-02-12  Bruno Haible  <bruno@clisp.org>
52153
52154                 * allocsa.h: Add extern "C" for C++.
52155
52156         2005-02-10  Bruno Haible  <bruno@clisp.org>
52157
52158                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
52159                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
52160
52161         2006-07-22  Bruno Haible  <bruno@clisp.org>
52162
52163                 * gettext.h: Update to GNU gettext-0.15.
52164
52165 2006-07-22  Bruno Haible  <bruno@clisp.org>
52166
52167         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
52168         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
52169         lib-prefix.m4, longdouble.m4, ssize_t.m4.
52170
52171 2006-07-21  Eric Blake  <ebb9@byu.net>
52172
52173         * modules/stdlib-safer: New file.
52174         * MODULES.html.sh (File stream based Input/Output): Add
52175         stdlib-safer.
52176
52177 2006-07-21  Eric Blake  <ebb9@byu.net>
52178
52179         * lib/stdlib-safer.h: New file from coreutils, required by
52180         stdlib--.h.
52181
52182 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
52183
52184         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
52185
52186 2006-07-20  Bruno Haible  <bruno@clisp.org>
52187
52188         * gnulib-tool: Recognize new option --assume-autoconf.
52189         (autoconf_minversion): New variable.
52190         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
52191
52192 2006-07-20  Bruno Haible  <bruno@clisp.org>
52193
52194         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
52195
52196 2006-07-19  Derek R. Price  <derek@ximbiot.com>
52197
52198         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
52199         Reindent and repaginate.
52200
52201 2006-07-19  Derek Price  <derek@ximbiot.com>
52202
52203         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
52204         Correct grammar.
52205
52206 2006-07-17  Bruno Haible  <bruno@clisp.org>
52207
52208         * modules/list: New file.
52209         * modules/array-list: New file.
52210         * modules/carray-list, modules/carray-list-tests: New files.
52211         * modules/linked-list, modules/linked-list-tests: New files.
52212         * modules/avltree-list, modules/avltree-list-tests: New files.
52213         * modules/rbtree-list, modules/rbtree-list-tests: New files.
52214         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
52215         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
52216         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
52217         * modules/oset: New file.
52218         * modules/array-oset: New file.
52219         * modules/avltree-oset, modules/avltree-oset-tests: New files.
52220         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
52221         * tests/test-carray_list.c: New file.
52222         * tests/test-linked_list.c: New file.
52223         * tests/test-avltree_list.c: New file.
52224         * tests/test-rbtree_list.c: New file.
52225         * tests/test-linkedhash_list.c: New file.
52226         * tests/test-avltreehash_list.c: New file.
52227         * tests/test-rbtreehash_list.c: New file.
52228         * tests/test-avltree_oset.c: New file.
52229         * tests/test-rbtree_oset.c: New file.
52230         * MODULES.html.sh (Container data structures): New section.
52231
52232 2006-07-17  Bruno Haible  <bruno@clisp.org>
52233
52234         * m4/gl_list.m4: New file.
52235
52236 2006-07-17  Bruno Haible  <bruno@clisp.org>
52237
52238         * lib/gl_list.h: New file.
52239         * lib/gl_list.c: New file.
52240         * lib/gl_array_list.h: New file.
52241         * lib/gl_array_list.c: New file.
52242         * lib/gl_carray_list.h: New file.
52243         * lib/gl_carray_list.c: New file.
52244         * lib/gl_linked_list.h: New file.
52245         * lib/gl_linked_list.c: New file.
52246         * lib/gl_anylinked_list1.h: New file.
52247         * lib/gl_anylinked_list2.h: New file.
52248         * lib/gl_avltree_list.h: New file.
52249         * lib/gl_avltree_list.c: New file.
52250         * lib/gl_anyavltree_list1.h: New file.
52251         * lib/gl_anyavltree_list2.h: New file.
52252         * lib/gl_rbtree_list.h: New file.
52253         * lib/gl_rbtree_list.c: New file.
52254         * lib/gl_anyrbtree_list1.h: New file.
52255         * lib/gl_anyrbtree_list2.h: New file.
52256         * lib/gl_anytree_list1.h: New file.
52257         * lib/gl_anytree_list2.h: New file.
52258         * lib/gl_linkedhash_list.h: New file.
52259         * lib/gl_linkedhash_list.c: New file.
52260         * lib/gl_anyhash_list1.h: New file.
52261         * lib/gl_anyhash_list2.h: New file.
52262         * lib/gl_avltreehash_list.h: New file.
52263         * lib/gl_avltreehash_list.c: New file.
52264         * lib/gl_rbtreehash_list.h: New file.
52265         * lib/gl_rbtreehash_list.c: New file.
52266         * lib/gl_anytreehash_list1.h: New file.
52267         * lib/gl_anytreehash_list2.h: New file.
52268
52269         * lib/gl_oset.h: New file.
52270         * lib/gl_oset.c: New file.
52271         * lib/gl_array_oset.h: New file.
52272         * lib/gl_array_oset.c: New file.
52273         * lib/gl_avltree_oset.h: New file.
52274         * lib/gl_avltree_oset.c: New file.
52275         * lib/gl_rbtree_oset.h: New file.
52276         * lib/gl_rbtree_oset.c: New file.
52277         * lib/gl_anytree_oset.h: New file.
52278
52279 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
52280
52281         * m4/mkancesdirs.m4: New file.
52282         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
52283         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
52284         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
52285         it.
52286
52287 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
52288
52289         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
52290         * lib/mkancesdirs.h: New files.
52291         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
52292         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
52293         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
52294         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
52295         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
52296         callers changed.  Revamp internals significantly, by not
52297         attempting to create directories that are temporarily more
52298         permissive than the final results.  Do not attempt to use
52299         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
52300         This removes some race conditions, fixes some bugs, and simplifies
52301         things.  Use new dirchownmod function to do owner and mode changes.
52302         * lib/mkdir-p.h: Likewise.
52303         * lib/modechange.c (octal_to_mode): New function.
52304         (struct mode_change): New member mentioned.
52305         (make_node_op_equals): New arg mentioned.  All callers changed.
52306         (mode_compile): Keep track of which mode bits the user has explicitly
52307         mentioned.
52308         (mode_adjust): New arg DIR, so that we implement the X op correctly.
52309         New arg PMODE_BITS, to keep track of which mode bits the user
52310         mentioned; it treats S_ISUID and S_ISGID speciall.
52311         All callers changed.
52312         * lib/modechange.h: Likewise.
52313
52314 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
52315
52316         * MODULES.html.sh: Add mkancestors.
52317         * modules/mkancesdirs: New module.
52318         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
52319         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
52320         The chdir-safer and afs files are now orphans; I'll remove them
52321         unless someone speaks up.
52322         Add lib/dirchownmod.c, lib/dirchownmod.h.
52323         (Depends-on): Remove alloca, chown, save-cwd, dirname.
52324         Add lchown, mkancesdirs.
52325         (Maintainer): Add self.
52326
52327 2006-07-15  Karl Berry  <karl@gnu.org>
52328
52329         * gnulib-tool: help message wording/arrangement.
52330
52331 2006-07-14  Simon Josefsson  <jas@extundo.com>
52332
52333         * doc/gnulib.texi (Libtool and Windows): New section.
52334
52335 2006-07-12  Simon Josefsson  <jas@extundo.com>
52336
52337         * modules/gendocs (License): Fix license, approved by Karl.
52338
52339 2006-07-12  Eric Blake  <ebb9@byu.net>
52340
52341         * MODULES.html.sh: Add gendocs.
52342
52343 2006-07-11  Eric Blake  <ebb9@byu.net>
52344
52345         * modules/fdl: New module, to install doc/fdl.texi.
52346         * MODULES.html.sh: Add new section for documentation modules.
52347         * gnulib-tool: Avoid space-tab.
52348         (--doc-base): New option, to manage files from doc.
52349
52350 2006-07-11  Eric Blake  <ebb9@byu.net>
52351
52352         * m4/absolute-header.m4: Fix comments to match recent change.
52353
52354 2006-07-11  Eric Blake  <ebb9@byu.net>
52355
52356         * gnulib-tool: List --doc-base before --tests-base.
52357
52358 2006-07-11  Derek R. Price  <derek@ximbiot.com>
52359
52360         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
52361
52362 2006-07-11  Bruno Haible  <bruno@clisp.org>
52363
52364         * README: Mention where to put documentation.
52365
52366 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52367
52368         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
52369
52370 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
52371
52372         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
52373         to stdint.m4.
52374
52375 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
52376
52377         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
52378         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
52379         "no/such/file/stdint.h" when there is no such file, so that
52380         the resulting C code can be parsed by dodgy compilers.
52381         Problems reported by Bob Proulx.
52382
52383 2006-07-10  Derek R. Price  <derek@ximbiot.com>
52384
52385         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
52386         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
52387         macros into the GNU _D_EXACT_NAMLEN.
52388         * lib/savedir.c:  Likewise.
52389         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
52390
52391 2006-07-10  Derek R. Price  <derek@ximbiot.com>
52392         and Paul Eggert  <eggert@cs.ucla.edu>
52393
52394         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
52395         * m4/savedir.m4:
52396         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
52397         macros into the GNU _D_EXACT_NAMLEN.
52398
52399 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
52400
52401         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
52402         around the absolute name, to work around a problem with the HP-UX
52403         11.23 native C compiler, reported by Bob Proulx.
52404
52405 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
52406
52407         * doc/maintain.texi, make-stds.texi: Sync from
52408         <http://savannah.gnu.org/projects/gnustandards>.
52409
52410 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
52411
52412         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
52413
52414 2006-07-09  Jim Meyering  <jim@meyering.net>
52415
52416         * m4/glob.m4: Remove a doubled word in a comment.
52417
52418 2006-07-09  Jim Meyering  <jim@meyering.net>
52419
52420         * lib/argp-pv.c: Remove a doubled word in a comment.
52421         * lib/check-version.c (check_version): Likewise.
52422         * lib/javacomp.c (compile_java_class): Likewise.
52423
52424 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
52425
52426         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
52427         for the benefit of people using Autoconf 2.60.  If you want to
52428         support older Autoconf versions you can copy m4/onceonly_2_57.m4
52429         (or m4/onceonly.m4, if pre-2.57) manually.
52430
52431 2006-07-08  Jim Meyering  <jim@meyering.net>
52432
52433         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
52434         comment.
52435         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
52436         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
52437         comment.
52438
52439 2006-07-08  Jim Meyering  <jim@meyering.net>
52440
52441         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
52442
52443 2006-07-07  Simon Josefsson  <jas@extundo.com>
52444
52445         * tests/test-crc.c: Change expected crc value, the test vector
52446         were probably computed using the old broken crc.c?
52447
52448 2006-07-06  Simon Josefsson  <jas@extundo.com>
52449
52450         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
52451         now the canonical place for the M4 file).
52452
52453         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
52454         from the sys_socket dependency now.
52455
52456         * modules/inet_pton (Files): Ditto.
52457
52458         * modules/inet_ntop (Files): Ditto.
52459
52460 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
52461
52462         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
52463         not gl_PREREQ_GETUSERSHELL.
52464
52465 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52466
52467         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
52468         with only one argument, for Autoconf 2.60.
52469         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
52470         expand to nothing, so add a shell command to avoid syntax error.
52471         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
52472
52473 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52474
52475         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
52476
52477 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
52478
52479         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
52480         no longer needed.  Check for isblank decl.
52481         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
52482         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
52483         of existence.
52484
52485 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
52486
52487         * lib/getloadavg.c: Use __VMS, not VMS.
52488         * lib/getopt.c: Likewise.
52489         * lib/getpagesize.h: Likewise.
52490         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
52491         and probably does not work.
52492
52493 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
52494
52495         * lib/.cppi-disable: Add wcwidth.
52496         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
52497         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
52498         (ISGRAPH): Remove.  All uses changed to isgraph.
52499         (FOLD) [!defined _LIBC]: Remove special case.
52500         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
52501         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
52502         HAVE_ISBLANK.
52503         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
52504         case.
52505
52506 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
52507
52508         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
52509         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
52510         brackets.  Other minor changes to suppress some compiler
52511         warnings.
52512
52513 2006-07-06  Derek R. Price  <derek@ximbiot.com>
52514         and Paul Eggert  <eggert@cs.ucla.edu>
52515
52516         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
52517         of invoking obsolescent AC_HEADER_DIRENT macro.
52518         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
52519         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
52520         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
52521         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
52522         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
52523         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
52524         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
52525         * m4/readdir.m4: Remove; no longer needed.
52526
52527 2006-07-06  Derek R. Price  <derek@ximbiot.com>
52528         and Paul Eggert  <eggert@cs.ucla.edu>
52529
52530         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
52531         Don't worry about this obsolete case any more.
52532         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
52533         directories.
52534         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
52535         worry about this obsolete case any more.
52536         * lib/fts.c: Likewise.
52537         * lib/getcwd.c: Likewise.
52538         * lib/glob.h: Likewise.
52539         * lib/savedir.c: Likewise.
52540
52541 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
52542
52543         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
52544         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
52545         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
52546         needed.
52547         All uses removed.
52548         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
52549         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
52550         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
52551         needed.
52552         * m4/getdate.m4 (gl_GETDATE): Likewise.
52553         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
52554         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
52555         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
52556         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
52557         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
52558         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
52559         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
52560         needed.
52561
52562 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
52563
52564         * lib/memcasecmp.c: Include <limits.h>.
52565         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
52566         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
52567         Don't assume isdigit succeeds only on '0' through '9'.
52568
52569 2006-07-05  Eric Blake  <ebb9@byu.net>
52570
52571         * modules/getaddrinfo (Depends-on): Add snprintf.
52572
52573 2006-07-05  Eric Blake  <ebb9@byu.net>
52574
52575         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
52576         to avoid 'header present but could not be compiled' on cygwin.
52577
52578 2006-07-05  Eric Blake  <ebb9@byu.net>
52579
52580         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
52581         missing from netdb.h.
52582         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
52583
52584 2006-07-05  Derek R. Price  <derek@ximbiot.com>
52585
52586         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
52587         no longer needed.
52588         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
52589         * m4/getdate.m4 (gl_GETDATE): Likewise.
52590         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
52591         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
52592         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
52593         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
52594         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
52595
52596 2006-07-05  Derek R. Price  <derek@ximbiot.com>
52597
52598         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
52599         All uses of is_space replaced by isspace.
52600         * lib/exit.h: Don't talk about STDC_HEADERS.
52601         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
52602         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
52603         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
52604         replaced by isprint etc.
52605         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
52606         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
52607         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
52608         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
52609         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
52610         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
52611
52612 2006-07-05  Bruno Haible  <bruno@clisp.org>
52613
52614         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
52615         the function exists, before testing against AIX.
52616         Reported by Martin Lambers <marlam@marlam.de>.
52617
52618 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
52619
52620         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
52621         From Mark D. Baushke.
52622
52623 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
52624
52625         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
52626         to the absolute name, not just one, to bypass Sun C 5.8's
52627         "warning: #include of /usr/include/... may be non-portable".
52628
52629 2006-07-04  Eric Blake  <ebb9@byu.net>
52630
52631         * modules/dirname-tests: New test module.
52632         * tests/test-dirname.c: New file, replacing dirname.c
52633         TEST_DIRNAME section that was recently deleted.
52634
52635 2006-07-04  Bruno Haible  <bruno@clisp.org>
52636
52637         Assume ANSI C header files and <ctype.h> functions.
52638         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
52639         (mbsnwidth): Use isprint, iscntrl instead.
52640
52641 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
52642
52643         Merge from coreutils.
52644         * MODULES.html.sh: Add xstrtold.
52645         * modules/xstrtold: New file.
52646         * modules/cycle-check (Files): Add lib/same-inode.h.
52647         * modules/dirname (Files): Add m4/double-slash-root.m4.
52648         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
52649         * modules/mkdir-p (Files): Add lib/same-inode.h.
52650         * modules/same (Files): Add lib/same-inode.h.
52651
52652 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
52653
52654         * m4/absolute-header.m4: Renamed from full-header-path.m4.
52655         This is to keep the terminology clean; POSIX talks about
52656         "absolute pathnames", not "full pathnames", but the GNU
52657         Coding Standards say to use "path" for something else;
52658         so use "absolute" to keep both sides happy.
52659         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
52660         Set gl_absolute_header, not gl_full_header_path.
52661         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
52662         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
52663         All uses changed.
52664
52665         Merge from coreutils.
52666
52667         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
52668
52669         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
52670         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
52671         want to require the building of c-strtod.o.
52672         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
52673         needs -lm directly.
52674         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
52675
52676         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
52677
52678         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
52679         --as-needed option if available.  Problem reported by Albert Chin in
52680         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
52681         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
52682         cc merely issues a bunch of annoying warnings for --as-needed
52683         (this problem was reported by Bob Proulx).  Also, try linking with
52684         -lm to detect a bug in binutils 2.16 (this problem was reported
52685         by Ralf Wildenhues).
52686
52687         2006-06-18  Jim Meyering  <jim@meyering.net>
52688
52689         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
52690         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
52691         macro.
52692         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
52693         also check for glibc-2.4's abort-inducing bug.
52694
52695         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
52696         Low-probability clean-up should be to use rmdir to get rid of
52697         the just-created directory, not unlink.
52698
52699         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
52700         configure fail, and request a bug report to inform us about it.
52701         Add a comment that, barring reports to the contrary, in 2007 we'll
52702         assume ftruncate is universally available.
52703
52704         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
52705
52706         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
52707
52708         2006-03-12  Jim Meyering  <jim@meyering.net>
52709
52710         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
52711         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
52712         * m4/same.m4 (gl_SAME): Likewise.
52713         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
52714
52715         2006-03-11  Eric Blake  <ebb9@byu.net>
52716
52717         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
52718         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
52719         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
52720         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
52721
52722 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
52723
52724         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
52725         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
52726         reported by Mark D. Baushke, one in
52727         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
52728
52729         Merge from coreutils.
52730
52731         * lib/.cppi-disable: Add stdint_.h.
52732         * lib/.cvsignore: Add stdint.h.
52733
52734         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
52735
52736         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
52737         both double and long double versions.
52738         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
52739         * lib/xstrtold.c: New file.
52740         * lib/xstrtod.h (xstrtold): New decl.
52741
52742         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
52743
52744         * lib/filemode.c (setst): Remove.
52745         (strmode): Rewrite to avoid setst.  This makes the code shorter,
52746         (arguably) clearer, and the generated code is a bit smaller on my
52747         Debian GNU/Linux stable x86 host.
52748
52749         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
52750
52751         * lib/filemode.c: Include "filemode.h" first, to test the interface.
52752         Assume that filemode.h includes sys/types.h and sys/stat.h.
52753         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
52754         (ftypelet): Reorder to put common cases first, for efficiency.
52755         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
52756         to do 'M'.
52757         (strmode): Renamed from mode_string, and now stores 12 bytes instead
52758         of 10, for compatibility with FreeBSD.  All callers changed.
52759         (filemodestring): Now stores 12 bytes instead of 10, and sets file
52760         types that can't be deduced solely from st_mode.  First arg is now a
52761         const pointer.
52762         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
52763         (strmode): Renamed from mode_string.
52764         (filemodestring): New decl.
52765         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
52766         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
52767         needed.
52768         (S_ISPORT, S_ISWHT): New macros, if not already defined.
52769
52770         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
52771
52772         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
52773         fsusage.h now does that.  Include fsusage.h first, to test interface.
52774         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
52775         at most one method (the old code could have generated decls that
52776         didn't conform to C89, not that this was ever exercised).
52777         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
52778
52779         2006-03-19  Jim Meyering  <jim@meyering.net>
52780
52781         Work even in a chroot where d_ino values for entries in "/"
52782         don't match the stat.st_ino values for the same names.
52783         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
52784         number, iterate through all entries again, using lstat instead.
52785         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
52786         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
52787
52788         * lib/getcwd.c (__getcwd): Clarify a comment.
52789         Use memcpy in place of a call to strcpy.
52790
52791         2006-03-12  Jim Meyering  <jim@meyering.net>
52792
52793         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
52794         matches that of the current directory (which we're about to chdir ".."
52795         out of), then save the dev-ino of the parent, instead.
52796
52797         * lib/same-inode.h (SAME_INODE): New file/macro.
52798         * lib/chdir-safer.c (SAME_INODE): Remove definition.
52799         Include "same-inode.h", instead.
52800         * lib/same.c: Likewise.
52801         * lib/cycle-check.h: Include "same-inode.h".
52802         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
52803         * lib/cycle-check.c (SAME_INODE): Remove definition.
52804         * lib/root-dev-ino.h: Include "same-inode.h".
52805
52806         2006-03-11  Eric Blake  <ebb9@byu.net>
52807
52808         * lib/same.c (same_name): s/base_name/last_component/
52809         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
52810         * lib/filenamecat.c (file_name_concat): Likewise.
52811
52812         2006-03-11  Eric Blake  <ebb9@byu.net>,
52813                     Paul Eggert  <eggert@cs.ucla.edu>
52814
52815         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
52816         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
52817         drive prefix.
52818         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
52819         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
52820         (last_component): New method.
52821         * lib/dirname.c (dir_len): Determine when drive letters need a
52822         subsequent slash.  Preserve // when it is special.
52823         (dir_name): Don't append dot when drive letter is absolute.
52824         [TEST_DIRNAME]: Move into a full-blown gnulib test.
52825         * lib/basename.c (base_name): New semantics - malloc the result.
52826         Preserve // when it is special.  Preserve relative files that look
52827         like drive letters.
52828         (base_len): Preserve // when it is special.
52829         (last_component): New method, similar to old base_name semantics.
52830         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
52831         base_name.  Strip redundant slashes from ///.
52832
52833 2006-07-03  Jim Meyering  <jim@meyering.net>
52834
52835         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
52836         macro is used before the first cycle_check call.
52837
52838 2006-07-03  Eric Blake  <ebb9@byu.net>
52839
52840         * modules/dirname (Depends-on): Add xstrndup.
52841
52842 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
52843
52844         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
52845         test cases, so that config.log is a bit easier to follow.
52846
52847 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
52848
52849         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
52850         both are 64 bits, since this seems to be the tradition, and this
52851         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
52852         we ever run into a host that prefers long long to long in this
52853         case, we'll need another configure-time test.  Problem reported by
52854         Jim Meyering.
52855
52856 2006-07-02  Eric Blake  <ebb9@byu.net>
52857
52858         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
52859
52860 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
52861
52862         * modules/inttypes (Depends-on): No longer depends on stdint.
52863         * modules/stdint (Description): Say more about assumptions.
52864         Say that the fast types might differ.  Say macros are used.
52865         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
52866         (Makefile.am): Revise list of substituted symbols to match
52867         new stdint.m4.
52868         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
52869         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
52870         * tests/test-stdint.c (verify_same_types)
52871         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
52872         the code conforms to C99/C89.
52873         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
52874         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
52875
52876 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
52877
52878         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
52879         but fix a bug, by requiring at least 64 bits.
52880         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
52881         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
52882         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
52883         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
52884
52885         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
52886         changes.  Make 2.59 a prerequisite.  Check and substitute for
52887         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
52888         inttypes.h.  Do not use special include files; just use the
52889         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
52890         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
52891         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
52892         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
52893         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
52894         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
52895         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
52896         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
52897         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
52898         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
52899         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
52900         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
52901         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
52902         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
52903         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
52904         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
52905         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
52906         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
52907         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
52908         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
52909         WINT_MAX.  Check for C99 conformance more strictly, by detecting
52910         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
52911         not check for things that C99 does not require, e.g., int8_t.  If
52912         a test isn't needed unless <stdint.h> isn't working, and is
52913         unlikely to be needed for any other reason, then don't do it
52914         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
52915         size_t, since we assume C89 freestanding at least.  Do not check
52916         for sig_atomic_t, wchar_t, or wint_t, since the code now does
52917         the right thing even if the types are not defined.  Instead use:
52918         (gl_STDINT_TYPE_PROPERTIES): New macro.
52919         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
52920         testing whether <sys/types.h> clashes, as Autoconf does this for
52921         us now.  All uses removed.
52922         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
52923         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
52924         (gl_CHECK_TYPE_SAME):
52925         Remove; no longer needed.
52926         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
52927         exists, since we'll return 0 anyway in that case.
52928         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
52929
52930 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
52931
52932         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
52933         possible collision with system files.
52934         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
52935         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
52936         WCHAR_MIN and WCHAR_MAX in this case.
52937         (<stddef.h>): Do not include; no longer needed.
52938         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
52939         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
52940         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
52941         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
52942         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
52943         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
52944         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
52945         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
52946         !defined(__c99))]: Include in this case too, since it's harmless
52947         now.
52948         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
52949         dangerous to do so.
52950         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
52951         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
52952         (_STDINT_MIN, _STDINT_MAX): New macros.
52953         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
52954         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
52955         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
52956         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
52957         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
52958         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
52959         macros, not typedefs; this simplifies things quite a bit.
52960         Use long int for all types narrower than int64_t.
52961         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
52962         Define in terms of long long int or int64_t or long int,
52963         not int64_t or int32_t.  This saves some compile-time testing.
52964         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
52965         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
52966         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
52967         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
52968         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
52969         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
52970         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
52971         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
52972         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
52973         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
52974         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
52975         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
52976         undef any previous version and define our own version, for
52977         simplicity and consistency with the new macros for types.
52978         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
52979         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
52980         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
52981         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
52982         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
52983         @WINT_T_SUFFIX@ to keep things simple here.
52984         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
52985         Simplify by assuming typical 8/16/32/64 host, since we're
52986         already doing that elsewhere anyway.
52987         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
52988         and assume long long int is 64 bits if available.  This
52989         speeds up 'configure'.
52990
52991 2006-07-01  Eric Blake  <ebb9@byu.net>
52992
52993         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
52994         Reported by Andreas Buening.
52995
52996 2006-07-01  Eric Blake  <ebb9@byu.net>
52997
52998         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
52999
53000 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
53001
53002         * lib/getaddrinfo.c: fixed typo
53003
53004 2006-06-29  Jim Meyering  <jim@meyering.net>
53005
53006         * modules/strftime (Maintainer): Add my name, since with the
53007         FPRINTFTIME changes strftime.c has forked from glibc.
53008
53009 2006-06-29  Eric Blake  <ebb9@byu.net>
53010
53011         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
53012
53013 2006-06-29  Eric Blake  <ebb9@byu.net>
53014
53015         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
53016
53017 2006-06-29  Eric Blake  <ebb9@byu.net>
53018
53019         * lib/stat_.h: New file.
53020
53021 2006-06-29  Eric Blake  <ebb9@byu.net>
53022
53023         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
53024         unused static function.
53025
53026 2006-06-29  Eric Blake  <ebb9@byu.net>
53027
53028         * doc/functions.texi (Function Portability): Document missing lstat
53029         on mingw.
53030
53031 2006-06-29  Eric Blake  <ebb9@byu.net>
53032
53033         * MODULES.html.sh: Add sys_stat.
53034         * modules/sys_stat: New module.
53035         * modules/mkstemp (Depends-on): Add sys_stat.
53036
53037 2006-06-29  Derek R. Price  <derek@ximbiot.com>
53038
53039         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
53040
53041 2006-06-29  Derek R. Price  <derek@ximbiot.com>
53042
53043         * m4/c-bs-a.m4: Removed.
53044
53045 2006-06-29  Derek R. Price  <derek@ximbiot.com>
53046
53047         * lib/strftime.c: Assume strftime() exists.
53048
53049 2006-06-29  Derek Price  <derek@ximbiot.com>
53050
53051         * modules/c-bs-a: Removed - \a is C89.
53052         * MODULES.html.sh: Remove c-bs-a.
53053
53054 2006-06-29  Bruno Haible  <bruno@clisp.org>
53055
53056         * modules/wcwidth (License): Change to LGPL.
53057
53058 2006-06-28  Simon Josefsson  <jas@extundo.com>
53059
53060         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
53061         on _WIN32.
53062
53063         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
53064         getnameinfo.
53065
53066 2006-06-28  Simon Josefsson  <jas@extundo.com>
53067
53068         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
53069
53070 2006-06-28  Simon Josefsson  <jas@extundo.com>
53071
53072         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
53073         functions there.  It will succeed on Windows XP, but on Windows
53074         2000 and (presumably) earlier, it will fail, and use the internal
53075         re-implementation.
53076         (use_win32_p): New function.
53077         (getaddrinfo): Use strtoul on servname, to support numeric ports.
53078         Support AI_NUMERICSERV to disable getservbyname.
53079         (getnameinfo): New function, only supports
53080         NI_NUMERICHOST|NI_NUMERICSERV for now.
53081
53082         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
53083         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
53084         getnameinfo.
53085
53086 2006-06-28  Eric Blake  <ebb9@byu.net>
53087
53088         * modules/wcwidth: New file.
53089         * modules/mbchar (Depends-on): Add wcwidth.
53090         * modules/mbswidth (Depends-on): Add wcwidth.
53091         * MODULES.html.sh: Add wcwidth.
53092
53093 2006-06-28  Eric Blake  <ebb9@byu.net>
53094
53095         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
53096         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
53097
53098 2006-06-28  Eric Blake  <ebb9@byu.net>
53099
53100         * lib/xvasprintf.h: Fix comments.
53101
53102 2006-06-28  Eric Blake  <ebb9@byu.net>
53103
53104         * lib/mbchar.h (wcwidth): Include wcwidth.h.
53105         * lib/mbswidth.c (wcwidth): Move from here...
53106         * lib/wcwidth.h: ...to this new file.
53107
53108 2006-06-28  Derek R. Price  <derek@ximbiot.com>
53109
53110         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
53111
53112         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
53113         it's obsolete.
53114         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
53115
53116 2006-06-28  Derek R. Price  <derek@ximbiot.com>
53117
53118         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
53119         Autoconf 2.60 says this stuff was obsolete.
53120
53121 2006-06-28  Bruno Haible  <bruno@clisp.org>
53122
53123         * modules/wcwidth (Files): Add m4/wchar_t.m4.
53124
53125 2006-06-28  Bruno Haible  <bruno@clisp.org>
53126
53127         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
53128         gt_TYPE_WCHAR_T.
53129
53130 2006-06-28  Bruno Haible  <bruno@clisp.org>
53131
53132         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
53133         declaration for wcwidth.
53134         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
53135
53136 2006-06-28  Bruno Haible  <bruno@clisp.org>
53137
53138         * lib/mkdtemp.c [MINGW]: Include <io.h>.
53139         (mkdir): Define using _mkdir.
53140
53141 2006-06-28  Bruno Haible  <bruno@clisp.org>
53142
53143         * lib/getaddrinfo.h: Fix POSIX URL.
53144         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
53145         _WIN32.
53146         (use_win32_p): Make static.
53147         (getaddrinfo): Reject service name if it is empty or does not consist
53148         solely of decimal digits, or if its value is > 65535.
53149         (getnameinfo): Remove useless casts.
53150
53151 2006-06-27  Simon Josefsson  <jas@extundo.com>
53152
53153         * modules/sys_select: New file, suggested by Bruno Haible, Paul
53154         Eggert and Martin Lambers.
53155
53156 2006-06-27  Simon Josefsson  <jas@extundo.com>
53157
53158         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
53159         Eggert and Martin Lambers.
53160
53161 2006-06-27  Bruno Haible  <bruno@clisp.org>
53162
53163         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
53164         result to 0, not to empty.
53165         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
53166
53167 2006-06-27  Bruno Haible  <bruno@clisp.org>
53168
53169         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
53170
53171 2006-06-26  Simon Josefsson  <jas@extundo.com>
53172
53173         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
53174         present.
53175
53176 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
53177
53178         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
53179         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
53180         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
53181
53182 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
53183
53184         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
53185
53186 2006-06-26  Bruno Haible  <bruno@clisp.org>
53187
53188         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
53189
53190 2006-06-26  Bruno Haible  <bruno@clisp.org>
53191
53192         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
53193
53194 2006-06-26  Bruno Haible  <bruno@clisp.org>
53195
53196         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
53197         SGI C compiler in pre-C99 mode.
53198         Suggested by Mark D. Baushke and Larry Jones.
53199
53200 2006-06-26  Bruno Haible  <bruno@clisp.org>
53201
53202         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
53203         WCHAR_MAX.
53204         Reported by Mark D. Baushke and Larry Jones.
53205
53206 2006-06-26  Bruno Haible  <bruno@clisp.org>
53207
53208         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
53209         in pre-C99 mode.
53210         Suggested by Mark D. Baushke and Larry Jones.
53211
53212 2006-06-23  Simon Josefsson  <jas@extundo.com>
53213             Bruno Haible  <bruno@clisp.org>
53214
53215         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
53216         Emit mostlyclean-local rule.
53217         (func_emit_tests_Makefile_am): Likewise.
53218         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
53219
53220 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
53221
53222         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
53223
53224 2006-06-23  Bruno Haible  <bruno@clisp.org>
53225
53226         * tests/test-stdint.c: Update to match ISO C 99 Technical
53227         Corrigendum 1.
53228
53229 2006-06-23  Bruno Haible  <bruno@clisp.org>
53230
53231         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
53232
53233 2006-06-23  Bruno Haible  <bruno@clisp.org>
53234
53235         * lib/stdint_.h: Treat IRIX like OpenBSD.
53236
53237 2006-06-23  Bruno Haible  <bruno@clisp.org>
53238
53239         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
53240         ISO C 99 Technical Corrigendum 1.
53241
53242 2006-06-22  Simon Josefsson  <jas@extundo.com>
53243
53244         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
53245         MinGW.
53246
53247 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
53248
53249         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
53250         needed.  Some compiler complained about some of them.  Problem reported
53251         by Larry Jones in
53252         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
53253
53254 2006-06-21  Simon Josefsson  <jas@extundo.com>
53255
53256         * tests/test-getaddrinfo.c: New file.
53257
53258         * modules/getaddrinfo-tests: New file.
53259
53260         * MODULES.html.sh: Add inet_pton.
53261
53262         * modules/inet_pton: New file.
53263
53264 2006-06-21  Simon Josefsson  <jas@extundo.com>
53265
53266         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
53267         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
53268         of using the (limited) gnulib implementation on Windows XP.
53269
53270         * m4/inet_pton.m4: New file.
53271
53272 2006-06-21  Simon Josefsson  <jas@extundo.com>
53273
53274         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
53275         variable.
53276
53277         * lib/socket_.h: Don't define WINVER.
53278
53279         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
53280         slightly modified to work in gnulib.
53281
53282 2006-06-21  Simon Josefsson  <jas@extundo.com>
53283
53284         * doc/gnulib.texi (Windows sockets): Add.
53285
53286 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
53287
53288         * lib/read-file.c (fread_file): Start with buffer allocation of
53289         0 bytes rather than 1 byte; this simplifies the code.
53290         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
53291         code to free buffer and save/restore errno.
53292         (internal_read_file): Remove unused local.
53293
53294 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
53295
53296         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
53297         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
53298         Problem reported by Denis Excoffier in
53299         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
53300
53301 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53302
53303         * modules/sys_socket, modules/socklen: Include sys/types since
53304         FreeBSD 4.x's sys/socket.h needs it.
53305
53306 2006-06-19  Simon Josefsson  <jas@extundo.com>
53307
53308         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
53309
53310 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
53311
53312         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
53313
53314 2006-06-19  Bruno Haible  <bruno@clisp.org>
53315
53316         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
53317         and FULL_PATH_INTTYPES_H in angle brackets.
53318         Reported by Mark D. Baushke <mdb@gnu.org>.
53319
53320 2006-06-17  Eric Blake  <ebb9@byu.net>
53321
53322         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
53323         errno.
53324
53325 2006-06-17  Bruno Haible  <bruno@clisp.org>
53326
53327         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
53328         <sys/inttypes.h>.
53329
53330 2006-06-17  Bruno Haible  <bruno@clisp.org>
53331
53332         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
53333         whether errno is declared. Assume <errno.h> declares errno.
53334
53335 2006-06-17  Bruno Haible  <bruno@clisp.org>
53336
53337         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
53338
53339 2006-06-17  Bruno Haible  <bruno@clisp.org>
53340
53341         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
53342         problem on Solaris 2.5.1.
53343
53344 2006-06-16  Eric Blake  <ebb9@byu.net>
53345
53346         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
53347         * lib/unicodeio.c [!defined errno]: Likewise.
53348         * lib/strtol.c [!defined errno]: Likewise.
53349         * lib/strtod.c [!defined errno]: Likewise.
53350
53351 2006-06-15  Eric Blake  <ebb9@byu.net>
53352
53353         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
53354
53355 2006-06-15  Eric Blake  <ebb9@byu.net>
53356
53357         * config/srclist.txt (ssize_t.m4): Lose sync.
53358
53359 2006-06-15  Bruno Haible  <bruno@clisp.org>
53360
53361         * modules/stdint (Files): Include m4/full-header-path.m4,
53362         m4/size_max.m4, m4/wchar_t.m4.
53363         (Makefile.am): Many more substitutions.
53364         * modules/stdint-tests: New file.
53365         * tests/test-stdint.c: New file.
53366
53367 2006-06-15  Bruno Haible  <bruno@clisp.org>
53368
53369         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
53370         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
53371         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
53372         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
53373         gl_CHECK_TYPE_SAME): New macros.
53374
53375 2006-06-15  Bruno Haible  <bruno@clisp.org>
53376
53377         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
53378
53379 2006-06-15  Bruno Haible  <bruno@clisp.org>
53380
53381         * lib/stdint_.h: Rewritten to be fully auto-configured.
53382         Fixes bug on HP-UX/IA64.
53383
53384 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
53385
53386         * lib/getdate.y (__attribute__): Don't define if already defined.
53387         Problem reported by Larry Jones.
53388         * lib/utimens.c (__attribute__): Likewise.
53389
53390 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
53391
53392         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
53393         reported by Andreas Schwab.
53394
53395 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53396             Bruno Haible  <bruno@clisp.org>
53397
53398         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
53399         check for the declaration of strnlen and a run test that exposes the
53400         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
53401         rpl_strndup.
53402
53403 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53404             Bruno Haible  <bruno@clisp.org>
53405
53406         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
53407
53408 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53409
53410         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
53411         compile test, for Tru64 4.0D.
53412
53413 2006-05-28  Karl Berry  <karl@gnu.org>
53414
53415         * config/srclist.txt (printf-args.c): lose sync.
53416
53417 2006-05-26  Martin Lambers  <marlam@marlam.de>
53418
53419         * lib/getpass.c: Updates the test for the native W32 API, and adds
53420         missing includes, thus fixing compilation warnings.
53421
53422 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
53423
53424         * lib/exclude.c (exclude_fnmatch): New function.
53425         (excluded_file_name): Call exclude_fnmatch.
53426         * lib/exclude.h (excluded_file_name): New prototype
53427
53428 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
53429
53430         * lib/tempname.c (small_open, large_open): New macros.
53431         (__open, __open64) [!_LIBC]: Remove.
53432         (__gen_tempname): Use small_open and large_open instead of __open
53433         and __open64.  This fixes a portability bug on HP-UX 11.11i
53434         reported by Simon Wing-Tang in
53435         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
53436
53437 2006-05-24  Bruno Haible  <bruno@clisp.org>
53438
53439         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
53440         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
53441         Reported by Thorsten Maerz <torte@netztorte.de> via
53442         Aaron Stone <aaron@serendipity.cx>.
53443
53444 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
53445
53446         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
53447         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
53448         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
53449         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
53450         not really conditional on the cache.
53451         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
53452
53453 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
53454
53455         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
53456         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
53457         (my_usleep): Don't mishandle maximum value.
53458
53459 2006-05-19  Jim Meyering  <jim@meyering.net>
53460
53461         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
53462
53463 2006-05-17  Bruno Haible  <bruno@clisp.org>
53464
53465         Cygwin portability.
53466         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
53467
53468 2006-05-17  Bruno Haible  <bruno@clisp.org>
53469
53470         * lib/stdint_.h: Fix recognition of Cygwin.
53471
53472 2006-05-15  Bruno Haible  <bruno@clisp.org>
53473
53474         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
53475         on libtool patch by Ralf Wildenhues.
53476
53477 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
53478
53479         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
53480         test for C99 conformance; (bool) 0.5 is an integer constant
53481         expression, but (bool) -0.5 is not.  Problem reported by Fedor
53482         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
53483
53484 2006-05-11  Simon Josefsson  <jas@extundo.com>
53485
53486         * m4/xvasprintf.m4: Fix obvious typo.
53487
53488 2006-05-11  Jim Meyering  <jim@meyering.net>
53489
53490         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
53491         James Lemley.
53492
53493 2006-05-10  Simon Josefsson  <jas@extundo.com>
53494
53495         * lib/md4.c: Typo fix, update copyright years.
53496         (K1, K2): Don't use L because it turn computations into 64-bit on
53497         64-bit platforms.
53498
53499 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
53500
53501         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
53502         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
53503         unwanted sign propagation, e.g., on hosts with 64-bit int.
53504         There still are some problems with reeelly weird theoretical hosts
53505         (e.g., 33-bit int) but it's not worth worrying about now.
53506         * lib/sha1.c (rol): Likewise.
53507         (K1, K2, K3, K4): Remove unnecessary L suffix.
53508
53509 2006-05-10  Bruno Haible  <bruno@clisp.org>
53510
53511         * lib/des.c: Cast to avoid warnings.
53512
53513 2006-05-09  Bruno Haible  <bruno@clisp.org>
53514
53515         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
53516         (Depends-on): Depend also on xsize, stdarg.
53517         (configure.ac): Add gl_XVASPRINTF.
53518
53519 2006-05-09  Bruno Haible  <bruno@clisp.org>
53520
53521         * m4/xvasprintf.m4: New file.
53522
53523 2006-05-09  Bruno Haible  <bruno@clisp.org>
53524
53525         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
53526         (EOVERFLOW): Define fallback value.
53527         (xstrcat): New function.
53528         (xvasprintf): Recognize the special case of a string concatenation.
53529
53530 2006-05-08  Eric Blake  <ebb9@byu.net>
53531
53532         * gnulib-tool (func_version): Base copyright year on CVS date.
53533         (func_emit_copyright_notice): New function.
53534         (func_emit_lib_Makefile_am): Use it.
53535         (func_emit_tests_Makefile_am): Likewise.
53536         (func_import): Likewise.
53537
53538 2006-05-08  Bruno Haible  <bruno@clisp.org>
53539
53540         * modules/stdarg: New file.
53541         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
53542
53543 2006-05-08  Bruno Haible  <bruno@clisp.org>
53544
53545         * m4/stdarg.m4: New file, from GNU gettext.
53546
53547 2006-05-08  Bruno Haible  <bruno@clisp.org>
53548
53549         * config/srclist.txt (build-aux/config.rpath): different from latest
53550         release.
53551
53552 2006-05-08  Bruno Haible  <bruno@clisp.org>
53553
53554         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
53555
53556 2006-05-05  Jim Meyering  <jim@meyering.net>
53557
53558         * m4/warning.m4: New file, derived from bison's file by the same name.
53559
53560 2006-05-03  Bruno Haible  <bruno@clisp.org>
53561
53562         * lib/stdint_.h: Shorter URL.
53563         * lib/inttypes.h: Likewise.
53564
53565 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
53566
53567         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
53568
53569 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
53570
53571         * lib/verify.h: Document the internals better.  Most of this change
53572         was written by Bruno Haible.
53573
53574 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
53575
53576         * doc/verify.texi: New file, partly based on a proposal by
53577         Bruno Haible.
53578
53579 2006-05-02  Bruno Haible  <bruno@clisp.org>
53580
53581         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
53582         test from here...
53583         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
53584
53585 2006-04-29  Bruno Haible  <bruno@clisp.org>
53586
53587         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
53588         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
53589
53590 2006-04-29  Bruno Haible  <bruno@clisp.org>
53591
53592         * gnulib-tool: Make --update option actually work.
53593
53594 2006-04-29  Bruno Haible  <bruno@clisp.org>
53595
53596         * doc/gcd.texi: New file.
53597         * doc/gnulib.texi: Include it.
53598
53599 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
53600
53601         * lib/getdate.y (get_date): When adding relative date, start with the
53602         initial time, not with the result of the first mktime call.
53603
53604 2006-04-25  Bruno Haible  <bruno@clisp.org>
53605
53606         * gnulib-tool (func_import): Output the include directives in three
53607         blocks, sorted separately.
53608         Reported by Ben Pfaff <blp@cs.stanford.edu>.
53609
53610 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
53611
53612         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
53613         to define main with arguments, for C++.  Reported by Eric Blake.
53614         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
53615         Prefer 'int main ()' to 'int main (void)', for C++.
53616         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
53617         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
53618         for 'main', for C99 and C++.
53619
53620 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
53621
53622         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
53623         Don't assume that exit status -1 is valid.
53624         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
53625         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
53626         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
53627         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
53628         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
53629         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
53630         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
53631         functions can be used without declaring them, or that you can
53632         exit with status -1.
53633         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
53634
53635 2006-04-24  Karl Berry  <karl@gnu.org>
53636
53637         * config/srclist.txt (longdouble.m4): sync lost.
53638
53639 2006-04-24  Eric Blake  <ebb9@byu.net>
53640
53641         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
53642
53643 2006-04-24  Bruno Haible  <bruno@clisp.org>
53644
53645         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
53646         poll() implementation in AIX.
53647         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
53648
53649 2006-04-24  Bruno Haible  <bruno@clisp.org>
53650
53651         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
53652         assigned exactly once.
53653
53654 2006-04-23  Claudio Fontana  <claudio@gnu.org>
53655             Bruno Haible  <bruno@clisp.org>
53656
53657         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
53658         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
53659         for AM_CPPFLAGS.
53660
53661 2006-04-23  Bruno Haible  <bruno@clisp.org>
53662
53663         * modules/copy-file: Depend on unistd.
53664         * modules/execute: Likewise.
53665         * modules/fatal-signal: Likewise.
53666         * modules/findprog: Likewise.
53667         * modules/mkdtemp : Likewise.
53668         * modules/pipe: Likewise.
53669         * modules/wait-process: Likewise.
53670
53671 2006-04-23  Bruno Haible  <bruno@clisp.org>
53672
53673         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
53674         condition was already detected.
53675         Reported by Ben Pfaff <blp@cs.stanford.edu>.
53676
53677 2006-04-23  Bruno Haible  <bruno@clisp.org>
53678
53679         * lib/copy-file.c: Include <unistd.h> unconditionally.
53680         * lib/execute.c: Likewise.
53681         * lib/fatal-signal.c: Likewise.
53682         * lib/findprog.c: Likewise.
53683         * lib/mkdtemp.c: Likewise.
53684         * lib/pipe.h: Likewise.
53685         * lib/pipe.c: Likewise.
53686         * lib/wait-process.h: Likewise.
53687
53688 2006-04-23  Bruno Haible  <bruno@clisp.org>
53689
53690         * gnulib-tool (func_usage): Fix --import description. Document
53691         --update.
53692         (func_import): Create temporary file in a temporary directory, if
53693         --dry-run is specified. Silence errors from 'grep' when there are no
53694         m4 files in $m4dir.
53695         (func_create_testdir): Silence errors from 'grep' when there are no
53696         m4 files in $m4dir.
53697         Reported by Karl Berry <karl@freefriends.org>.
53698
53699 2006-04-20  Bruno Haible  <bruno@clisp.org>
53700
53701         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
53702         one argument, so that the code will be portable to Autoconf 2.60.
53703         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
53704         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
53705         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
53706
53707 2006-04-19  Derek Price  <derek@ximbiot.com>
53708             Eric Blake  <ebb9@byu.net>
53709
53710         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
53711         rather than "/full/path.h".  Update comment to match.  Shorten &
53712         generalize m4_translit call via AS_TR_CPP.
53713
53714 2006-04-19  Derek Price  <derek@ximbiot.com>
53715             Eric Blake  <ebb9@byu.net>
53716
53717         * lib/inttypes.h: Correct grammar in comment.
53718
53719 2006-04-18  Derek Price  <derek@ximbiot.com>
53720             Paul Eggert  <eggert@cs.ucla.edu>
53721
53722         * modules/inttypes: New file.
53723         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
53724
53725 2006-04-18  Derek Price  <derek@ximbiot.com>
53726             Paul Eggert  <eggert@cs.ucla.edu>
53727
53728         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
53729         New files.
53730
53731 2006-04-18  Derek Price  <derek@ximbiot.com>
53732             Paul Eggert  <eggert@cs.ucla.edu>
53733
53734         * lib/inttypes.h: New file.
53735         * lib/strtoimax.c: Assume <inttypes.h>.
53736
53737 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
53738
53739         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
53740         isn't mounted.  Problem reported by Kir Kolyshkin.
53741
53742 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
53743
53744         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
53745         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
53746         Derek R. Price.
53747         * lib/regex.h (RE_DUP_MAX): Update comment to match current
53748         implementation.
53749
53750 2006-04-12  Eric Blake  <ebb9@byu.net>
53751
53752         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
53753         is now done automatically by the corresponding Autoconf macro.
53754
53755 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
53756
53757         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
53758         time_r.h.
53759
53760 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
53761
53762         Merge regex changes from libc, removing some of our
53763         POSIX-conformance changes that were rejected and redoing them in a
53764         less-intrusive way.
53765
53766         * lib/regcomp.c (re_compile_internal, init_dfa):
53767         Length arg is now size_t, not Idx.  All uses changed.
53768         (peek_token): Forward decl now says internal_function.
53769         (__re_error_msgid, __re_error_msgid_idx):
53770         Now static rather than extern with attribute_hidden.
53771         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
53772         For some reason libc prefers K&R style defns for external functions.
53773         (regerror) [!defined _LIBC]: Likewise.
53774         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
53775         (seek_collating_symbol_entry, lookup_collation_sequence_value):
53776         (build_range_exp, build_collating_symbol):
53777         Use K&R-style defn.
53778         (re_compile_fastmap): Use '\0' to memset, not 0.
53779         (utf8_sb_map): Make the calculations more obvious.
53780         (init_dfa, parse_bracket_exp, build_charclass_op):
53781         Call calloc and cast result, as glibc does.
53782         (init_word_char, fetch_token, peek_token, peek_token_bracket):
53783         (build_range_exp, build_collating_symbol):
53784         Now internal functions.
53785
53786         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
53787
53788         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
53789         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
53790         Don't depend on VMS; depend on __VMS instead, for POSIX
53791         namespace cleanness.
53792         (regoff_t): Define to ssize_t, not long int.
53793
53794         Remove the REG_ macros named below.  Instead, make the old names
53795         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
53796         __USE_GNU_REGEX.
53797         (REG_BACKSLASH_ESCAPE_IN_LISTS):
53798         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
53799         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
53800         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
53801         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
53802         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
53803         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
53804         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
53805         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
53806         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
53807         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
53808         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
53809         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
53810         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
53811         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
53812         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
53813         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
53814         (REG_NREGS):
53815         Remove.  All uses replaced by the old RE_* names.
53816         (RE_BACKSLASH_ESCAPE_IN_LISTS):
53817         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
53818         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
53819         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
53820         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
53821         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
53822         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
53823         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
53824         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
53825         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
53826         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
53827         Don't bother having these macros be independent of each others'
53828         values, since they no longer exist in the POSIX name space.
53829
53830         Rename the following member names back to their old names,
53831         unless !__USE_GNU_REGEX.  All uses changed back.
53832         (buffer): Renamed from re_buffer.
53833         (allocated): Renamed from re_allocated.
53834         (used): Renamed from re_used.
53835         (syntax): Renamed from re_syntax.
53836         (fastmap): Renamed from re_fastmap.
53837         (translate): Renamed from re_translate.
53838         (can_be_null): Renamed from re_can_be_null.
53839         (regs_allocated): Renamed from re_regs_allocated.
53840         (fastmap_accurate): Renamed from re_fastmap_accurate.
53841         (no_sub): Renamed from re_no_sub.
53842         (not_bol): Renamed from re_not_bol.
53843         (not_eol): Renamed from re_not_eol.
53844         (newline_anchor): Renamed from re_newline_anchor.
53845         (num_regs): Renamed from rm_num_regs.
53846         (start): Renamed from rm_start.
53847         (end): Renamed from rm_end.
53848
53849         (free_state): Move up a bit.
53850
53851         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
53852         #define to be empty.
53853         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
53854         when that is what is intended.
53855         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
53856         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
53857         (MAX): New macro.
53858         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
53859         All uses changed back to re_malloc, etc.  It's now the caller's
53860         responsibility to check for overflow; all callers changed.
53861         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
53862         (re_x2nrealloc): Remove.
53863         (free_state): Remove decl.
53864
53865         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
53866         (re_set_registers, re_exec):
53867         Use K&R-style defn.
53868
53869         2006-01-31  Roland McGrath  <roland@redhat.com>
53870
53871         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
53872         Reported by Mike Frysinger <vapier@gentoo.org>.
53873
53874         2006-01-15  Andreas Jaeger  <aj@suse.de>
53875
53876         [BZ #1950]
53877         * lib/regex_internal.c (re_string_reconstruct): Adjust for
53878         build_wcs_upper_buffer change.
53879         (build_wcs_upper_buffer): Change return type.
53880
53881         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
53882
53883         * lib/regex_internal.h: Include <stdint.h> if available.
53884
53885         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
53886
53887         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
53888
53889         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
53890
53891         * lib/regcomp.c: Adjust for changed secondary hash function.
53892
53893         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
53894
53895         * lib/regex.h: Pretty printing.
53896         Clean up namespace a bit.
53897
53898         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
53899
53900         * lib/regexec.c (update_cur_sifted_state, check_arrival,
53901         check_arrival_add_next_nodes): Avoid using uninitialized variable.
53902
53903         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
53904                     Ulrich Drepper  <drepper@redhat.com>
53905
53906         [BZ #1302]
53907         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
53908         changed.
53909         (bitset_word_t): Renamed from bitset_word.  All uses changed.
53910
53911         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
53912
53913         [BZ #281]
53914         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
53915         * lib/regcomp.c: Remove unnecessary uses of
53916         unsigned RE_TRANSLATE_TYPE.
53917         * lib/regex_internal.h: Likewise.
53918         * lib/regex_internal.c: Likewise.
53919         * lib/regexec.c: Likewise.
53920         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
53921
53922         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
53923
53924         * lib/regexec.c (find_recover_state): Remove unnecessary
53925         initialization.
53926         (transit_state_bkref): Make DFA a const pointer.
53927         (get_subexp): Likewise.
53928         (check_arrival): Likewise.
53929         (update_cur_sifted_state): Likewise.
53930         (re_search_internal): Likewise.
53931         (prune_impossible_nodes): Likewise.
53932         (acquire_init_state_context): Likewise.
53933         (proceed_next_node): Likewise.
53934         (set_regs): Likewise.
53935         (free_fail_stack_return): Likewise.
53936         (check_arrival_expand_ecl): Mark DFA parameter as const.
53937         (check_arrival_expand_ecl_sub): Likewise.
53938         (check_subexp_limits): Likewise.
53939         (sub_epsilon_src_nodes):  Likewise.
53940         (add_epsilon_src_nodes):  Likewise.
53941         (merge_state_array): Likewise.
53942         (update_regs): Likewise.
53943         (build_trtable): Likewise.
53944         (sift_states_backward): Mark MCTX parameter as const.
53945         (build_sifted_states): Likewise.
53946         (update_cur_sifted_state): Likewise.
53947         (sift_states_mkref): Likewise.
53948         (check_arrival_expand_ecl): Mark eclosure as const.
53949         (check_dst_limits_calc_pos_1): Likewise.
53950         * lib/regex_internal.h (re_match_context_t): Make dfa a const
53951         pointer.
53952
53953         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
53954
53955         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
53956         (transit_state_sb): Likewise.
53957         (transit_state_mb): Likewise.
53958         (sift_states_iter_mb): Likewise.
53959         (check_arrival_add_next_nodes): Likewise.
53960         (check_node_accept_bytes): Change first parameter to pointer-to-const.
53961         [_LIBC] (re_search_2_stub): Use mempcpy.
53962
53963         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
53964         mbrtowc for very simple UTF-8 case.
53965
53966         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
53967         a pointer-to-const.
53968         (re_acquire_state_context): Likewise.
53969         * lib/regex_internal.h: Adjust prototypes.
53970
53971         * lib/regex.c: Prevent using C++ compilers.
53972
53973         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
53974         (re_acquire_state_context): Likewise.
53975
53976 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
53977
53978         * modules/regex (Depends-on): Add ssize_t.
53979
53980 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
53981
53982         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
53983         translation table.
53984
53985 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
53986
53987         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
53988
53989 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
53990             Bruno Haible  <bruno@clisp.org>
53991
53992         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
53993         <sys/types.h> and <inttypes.h>.
53994
53995 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53996
53997         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
53998         `__error_t_defined', so argp.h will not typedef the former.
53999
54000 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
54001
54002         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
54003         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
54004         glibc names.  Even if glibc is changed to conform to POSIX, the
54005         traditional names will be available anyway, since regex depends on
54006         the extensions module.  Also, fix a longstanding typo in the
54007         implementation of Spencer ERE test #75 from grep 2.3.  Problems
54008         reported by Emanuele Giaquinta.  Also, change sense of cached
54009         variable, so that the message makes sense.
54010
54011 2006-03-24  Simon Josefsson  <jas@extundo.com>
54012
54013         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
54014         including some doc fixes.
54015         (base64_encode_alloc): Fix +1 bug on allocation failures.
54016
54017 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54018
54019         * lib/base64.c (base64_encode): Do not read past end of array with
54020         unsanitized input on systems with CHAR_BIT > 8.
54021
54022 2006-03-24  Eric Blake  <ebb9@byu.net>
54023
54024         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
54025
54026 2006-03-22  Karl Berry  <karl@gnu.org>
54027
54028         * config/srclist.txt (*setenv.[ch]): get from coreutils.
54029         * config/srclistvars.sh (COREUTILS): new var.
54030
54031 2006-03-17  Jim Meyering  <jim@meyering.net>
54032
54033         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
54034         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
54035
54036 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
54037
54038         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
54039         no longer needs it.  Instead, check that regoff_t is as least
54040         as wide as ptrdiff_t.
54041
54042         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
54043         so that our regex.h stays compatible with the installed regex.
54044         This is helpful for installers who configure --without-included-regex.
54045         Problem reported by Emanuele Giaquinta.
54046
54047 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
54048
54049         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
54050         Typedef to long int, not to off_, as POSIX will likely change
54051         in that direction.
54052
54053 2006-03-15  Eric Blake  <ebb9@byu.net>
54054
54055         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
54056
54057 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
54058
54059         * lib/argp-help.c (validate_uparams): Fix typo
54060         * lib/argp-parse.c (argp_default_options): Consistently begin help
54061         messages with a lowercase letter.
54062
54063 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
54064
54065         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
54066         overrun buffers and shouldn't be used (much as gets shouldn't be
54067         used).
54068         * lib/time_r.c (asctime_r, ctime_r): Likewise.
54069
54070 2006-03-08  Simon Josefsson  <jas@extundo.com>
54071
54072         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
54073         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54074
54075 2006-03-08  Simon Josefsson  <jas@extundo.com>
54076
54077         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
54078         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54079
54080 2006-03-08  Simon Josefsson  <jas@extundo.com>
54081
54082         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
54083         signal that configure disabled the device.
54084
54085 2006-03-08  Simon Josefsson  <jas@extundo.com>
54086
54087         * build-aux/maint.mk: Fix refresh-po, to handle no translated
54088         languages.
54089
54090 2006-03-07  Simon Josefsson  <jas@extundo.com>
54091
54092         * modules/getopt (Depends-on): Add unistd.
54093
54094         * modules/unistd: New file.
54095
54096 2006-03-07  Simon Josefsson  <jas@extundo.com>
54097
54098         * modules/gc-random: New file.
54099
54100 2006-03-07  Simon Josefsson  <jas@extundo.com>
54101
54102         * m4/unistd_h.m4: New file.
54103
54104 2006-03-07  Simon Josefsson  <jas@extundo.com>
54105
54106         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
54107         test to be side-effect free by storing the result in the cache
54108         variable gl_cv_lib_readline, and moving the assignment of
54109         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
54110         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54111
54112 2006-03-07  Simon Josefsson  <jas@extundo.com>
54113
54114         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
54115         error on missing devices (the functions will return an error).
54116
54117         * m4/gc.m4: Move random stuff to gc-random.m4
54118
54119 2006-03-07  Simon Josefsson  <jas@extundo.com>
54120
54121         * lib/unistd_.h: New file.
54122
54123 2006-03-07  Simon Josefsson  <jas@extundo.com>
54124
54125         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
54126
54127 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
54128
54129         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
54130         Problem reported by Juan Manuel Guerrero.
54131
54132 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
54133
54134         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
54135         the unistd module.
54136         * lib/getlogin_r.c: Likewise.
54137         * lib/getlogin_r.h: Likewise.
54138         * lib/glob.c: Likewise.
54139         * lib/pagealign_alloc.c: Likewise.
54140         * lib/unistd_.h: Remove; no longer needed.
54141
54142 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
54143
54144         * MODULES.html.sh (Support for systems lacking POSIX:2001):
54145         Add unistd.
54146         * modules/c-stack (Depends-on): Add unistd.
54147         * modules/getlogin_r: Likewise.
54148         * modules/glob: Likewise.
54149         * modules/pagealign_alloc: Likewise.
54150         * modules/unistd (Files): Remove lib/unistd_.h.
54151         (EXTRA_DIST): Remove.
54152         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
54153         need unistd_.h.
54154         (MOSTLYCLEANFILES): Remove unistd.h-t.
54155
54156 2006-03-03  Simon Josefsson  <jas@extundo.com>
54157
54158         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
54159
54160 2006-03-03  Simon Josefsson  <jas@extundo.com>
54161
54162         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
54163         libidn and bison.
54164
54165 2006-03-03  Simon Josefsson  <jas@extundo.com>
54166
54167         * build-aux/maint.mk: Add indent target.
54168
54169 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
54170
54171         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
54172         our replacement poll.h in any case, to avoid a differing
54173         declaration from a system header.  Seen on AIX.
54174
54175 2006-03-01  Simon Josefsson  <jas@extundo.com>
54176
54177         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
54178         <kasal@ucw.cz>.
54179
54180 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
54181
54182         * modules/gettime (Depends-on): Add extensions module.
54183         * modules/nanosleep (Depends-on): Likewise.
54184         * modules/settime (Depends-on): Likewise.
54185
54186 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
54187
54188         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
54189         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
54190         pedantically.
54191         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
54192         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
54193
54194         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
54195         not "==".  Reported by Ralf Wildenhues.
54196
54197 2006-03-01  Karl Berry  <karl@gnu.org>
54198
54199         * doc/Copyright/request-*: new files, synced from gnuorg.
54200
54201 2006-03-01  Karl Berry  <karl@gnu.org>
54202
54203         * config/srclist.txt (Copyright/*): new entries.
54204
54205 2006-02-28  Simon Josefsson  <jas@extundo.com>
54206
54207         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
54208
54209 2006-02-27  Simon Josefsson  <jas@extundo.com>
54210
54211         * lib/base64.h: Indent #define's.  From Jim Meyering
54212         <jim@meyering.net>.
54213
54214 2006-02-27  Jim Meyering  <jim@meyering.net>
54215
54216         Revert the change of 2006-02-24, so these files can continue
54217         to be sync'd from gettext.
54218         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
54219         of `config.h'.
54220
54221 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
54222
54223         * modules/intprops: New file.
54224         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
54225         Add intprops.
54226         * modules/getloadavg (Files): Remove lib/intprops.h.
54227         (Depends-on): Add intprops.
54228         * modules/human: Likewise.
54229         * modules/inttostr: Likewise.
54230         * modules/openat: Likewise.
54231         * modules/sig2str: Likewise.
54232         * modules/userspec: Likewise.
54233         * modules/utimecmp: Likewise.
54234         * modules/xnanosleep: Likewise.
54235         * modules/xstrtol: Likewise.
54236
54237 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
54238
54239         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
54240         * modules/lock-tests (TESTS): Use $(EXEEXT).
54241         * modules/tls-tests: Likewise.
54242         * modules/argp-tests: Likewise.
54243         (check_PROGRAMS): New var, replacing...
54244         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
54245
54246 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54247
54248         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
54249         `config.h'.
54250
54251 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
54252
54253         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
54254
54255 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54256
54257         Sync from coreutils.
54258         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
54259         gl_CHDIR_SAFER.
54260
54261 2006-02-22  Jim Meyering  <jim@meyering.net>
54262
54263         Sync from coreutils.
54264         * m4/chdir-safer.m4: New file.
54265
54266 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
54267
54268         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
54269         AT_FDCWD exceeds INT_MAX.
54270         * lib/openat.h (AT_FDCWD): Likewise.
54271
54272 2006-02-17  Eric Blake  <address@hidden>
54273
54274         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
54275
54276 2006-02-16  Simon Josefsson  <jas@extundo.com>
54277
54278         * modules/getaddrinfo (Depends-on): Add sys_socket.
54279
54280 2006-02-15  Simon Josefsson  <jas@extundo.com>
54281
54282         * build-aux/maint.mk: Add dsyntax-check rule.
54283
54284 2006-02-15  Eric Blake  <ebb9@byu.net>
54285
54286         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
54287         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
54288         'present but cannot compile' warnings on cygwin.
54289         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
54290         use ws2tcpip.h if sys/socket.h works.
54291         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
54292         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
54293
54294 2006-02-14  Simon Josefsson  <jas@extundo.com>
54295
54296         * modules/maintainer-makefile (Files): Rename.
54297
54298         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
54299         and (the local) Makefile.cfg to maint-cfg.mk.
54300
54301         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
54302         to the latter.
54303
54304         * modules/maintainer-makefile: New module.
54305
54306         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
54307         severaly stripped to make it possible to build it up from scratch
54308         with reliable tests.
54309
54310         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
54311         fixes to permit overriding the default actions when configure and
54312         makefile are not available.
54313
54314 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
54315
54316         Sync from coreutils.
54317         * modules/lstat (Depends-on): Don't depend on xalloc.
54318         (License): Change from GPL to LGPL, since this is now simply a
54319         replacement for a libc function.
54320
54321 2006-02-14  Jim Meyering  <jim@meyering.net>
54322
54323         Sync from coreutils.
54324
54325         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
54326         failure on deficient systems, and simplify gnulib lgpl dependencies.
54327         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
54328         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
54329
54330         * lib/xalloc-die.c: Remove unused definition of N_.
54331
54332 2006-02-14  Jim Meyering  <jim@meyering.net>
54333
54334         Sync from coreutils.
54335         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
54336         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
54337         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
54338         double-quote uses of that variable, to accommodate the rare case in
54339         which getmntent is available in none of the libraries checked.  This
54340         happens at least on FreeBSD 5.0.
54341
54342 2006-02-13  Simon Josefsson  <jas@extundo.com>
54343
54344         * gnulib-tool (Usage): Fix --import, from
54345         karl@freefriends.org (Karl Berry).
54346
54347 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
54348
54349         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
54350
54351 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
54352
54353         * lib/argp-namefrob.h: Restore changes accidentally lost during the
54354         "autoupdate" on 2005-12-12.
54355
54356 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
54357
54358         * modules/closeout (Depends-on): Remove atexit.
54359
54360 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
54361
54362         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
54363         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
54364
54365 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
54366
54367         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
54368         __EXTENSIONS__ if this causes compilation to fail.  Problem
54369         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
54370         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
54371
54372 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
54373
54374         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
54375         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
54376         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
54377         All uses changed.
54378
54379 2006-01-26  Simon Josefsson  <jas@extundo.com>
54380
54381         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
54382         prototype is visible on mingw32.
54383
54384         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
54385         for mingw32.
54386
54387         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
54388         mingw32).
54389
54390 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
54391
54392         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
54393         attempt to open for write; this always fails, at least on POSIX
54394         hosts.  This reinstates the 2006-01-09 change, which was
54395         inadvertently removed.
54396
54397 2006-01-26  Bruno Haible  <bruno@clisp.org>
54398
54399         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
54400         Reported by Paul Eggert.
54401
54402 2006-01-26  Bruno Haible  <bruno@clisp.org>
54403             Paul Eggert  <eggert@cs.ucla.edu>
54404
54405         * lib/stdbool_.h (_Bool)
54406         [(! (defined __cplusplus || defined __BEOS__)
54407           && !defined __GNUC__
54408           && !(defined __HP_cc || defined __xlc__
54409                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
54410                || defined __sgi))]:
54411         #define to signed char in these cases too; this simplifies
54412         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
54413         etc., separately) and makes it more conservative.
54414
54415 2006-01-25  Simon Josefsson  <jas@extundo.com>
54416
54417         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
54418         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
54419         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
54420
54421 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
54422
54423         * lib/argp-namefrob.h: Bugfix. Remove stray #
54424
54425 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
54426
54427         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
54428         so that we test the test.
54429         Check for yet another HP-UX cc bug involving *bool |= bool.
54430
54431 2006-01-25  Karl Berry  <karl@gnu.org>
54432
54433         * config/srclist.txt (vasnprintf.c): sync lost.
54434
54435 2006-01-25  Jim Meyering  <jim@meyering.net>
54436
54437         Sync from the stable (b5) branch of coreutils:
54438
54439         * lib/fts.c (fts_children): Don't let close() clobber errno from
54440         failed fchdir().
54441
54442         * lib/fts.c (fts_stat): When following a symlink-to-directory,
54443         don't necessarily interpret stat-fails+lstat-succeeds as indicating
54444         a dangling symlink.  That can also happen at least for ELOOP.
54445         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
54446         FYI, this bug predates the inclusion of fts.c in coreutils.
54447
54448         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
54449         in their own block, so pre-c99 compilers don't object.
54450
54451         Avoid the double-free (first in fts_read, second in fts_close) that
54452         would occur when an `active' directory is made inaccessible (e.g.,
54453         via chmod a-x) during a traversal.
54454         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
54455         before returning.  Reproduce this failure by
54456         mkdir -p a/b; cd a; chmod a-x . b
54457         Reported by Stavros Passas.
54458
54459 2006-01-25  Jim Meyering  <jim@meyering.net>
54460
54461         * lib/fileblocks.c: Remove more useless parentheses.
54462         * lib/readutmp.h: Likewise.
54463
54464 2006-01-25  Bruno Haible  <bruno@clisp.org>
54465
54466         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
54467         warnings.
54468         Reported by Paul Eggert.
54469
54470 2006-01-25  Bruno Haible  <bruno@clisp.org>
54471
54472         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
54473         rid of a trap command. For Solaris sh.
54474         Reported by Mark D. Baushke <mdb@gnu.org>.
54475
54476 2006-01-24  Simon Josefsson  <jas@extundo.com>
54477
54478         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
54479         Bruno.
54480
54481 2006-01-24  Karl Berry  <karl@gnu.org>
54482
54483         * config/srclist.txt (argp-namefrob.h): sync lost.
54484
54485 2006-01-24  Jim Meyering  <jim@meyering.net>
54486
54487         * modules/openat (Files): Add lib/intprops.h.
54488         From Mark D. Baushke.
54489
54490 2006-01-24  Jim Meyering  <jim@meyering.net>
54491
54492         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
54493         Reported by Mark D. Baushke.
54494
54495 2006-01-24  Jim Meyering  <jim@meyering.net>
54496
54497         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
54498
54499 2006-01-24  Bruno Haible  <bruno@clisp.org>
54500
54501         * modules/strnlen (Maintainer): Change from glibc to all.
54502
54503 2006-01-24  Bruno Haible  <bruno@clisp.org>
54504
54505         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
54506         Patch by Paul Eggert.
54507
54508 2006-01-24  Bruno Haible  <bruno@clisp.org>
54509
54510         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
54511         already has it.
54512         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
54513         2005-11-26.
54514
54515         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
54516         'signed char' to avoid problems with the built-in _Bool type.
54517         Reported by Paul Eggert on 2005-11-26.
54518
54519 2006-01-24  Bruno Haible  <bruno@clisp.org>
54520
54521         * gnulib-tool (func_import): Avoid constructing complicated sed
54522         expressions inside backquote.
54523         Report and solution by Mark D. Baushke <mdb@gnu.org>.
54524
54525 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
54526
54527         These changes imported from libc.
54528         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
54529         test and two separate function calls.
54530         * lib/strndup.c (__strndup): Add libc_hidden_def.
54531
54532 2006-01-23  Simon Josefsson  <jas@extundo.com>
54533
54534         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
54535         Remove the test_*_SOURCES variable: automake infers it by default.
54536         * modules/tls-tests: Likewise.
54537
54538 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
54539
54540         Work around porting bugs reported by Dieter in
54541         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
54542         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
54543         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
54544         Include "getopt.h" first, to check interface.
54545         (getenv): Declare only if defined HAVE_DECL_GETENV &&
54546         !HAVE_DECL_GETENV.
54547         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
54548         (__strndup): Revert to K&R-style function dfns, the glibc style.
54549         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
54550         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
54551         Include strnlen.h first, to get prototype properly.
54552         (strnlen): Renamed from __strnlen.
54553         Remove weak alias.
54554
54555 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
54556
54557         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
54558
54559 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
54560
54561         * config/srclist.txt: Adjust to reflect glibc reorganization.
54562         This affects only comments.
54563
54564 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
54565
54566          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
54567          Reported by Bruce Korb <bkorb@gnu.org>.
54568
54569 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
54570
54571         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
54572         to pacify gcc -Wswitch-default.
54573
54574 2006-01-22  Bruno Haible  <bruno@clisp.org>
54575
54576         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
54577         temporary buffer for sprintf, take into account the precision also
54578         for 'd', 'i', 'u', 'o', 'x', 'X'.
54579
54580 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
54581
54582         * modules/argp-tests: New module
54583         * tests/test-argp.c: New file
54584         * tests/test-argp-2.sh: New file
54585
54586 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
54587
54588         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
54589         (__argp_base_name): Removed
54590         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
54591         typo.
54592         (__argp_base_name): Provide macro definition or extern declaration
54593         depending on the configuration
54594
54595 2006-01-20  Simon Josefsson  <jas@extundo.com>
54596
54597         * modules/inet_ntop (Depends-on): Depend on sys_socket.
54598
54599 2006-01-20  Simon Josefsson  <jas@extundo.com>
54600
54601         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
54602
54603 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
54604
54605         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
54606         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
54607         Suggested by Bruno Haible.
54608
54609 2006-01-20  Karl Berry  <karl@gnu.org>
54610
54611         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
54612         until changes propagate, I guess.
54613
54614 2006-01-19  Simon Josefsson  <jas@extundo.com>
54615
54616         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
54617
54618 2006-01-19  Simon Josefsson  <jas@extundo.com>
54619
54620         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
54621
54622 2006-01-19  Simon Josefsson  <jas@extundo.com>
54623
54624         * gnulib-tool: Set check_PROGRAMS.
54625
54626         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
54627         modules/des-tests, modules/gc-arcfour-tests,
54628         modules/gc-arctwo-tests, modules/gc-des-tests,
54629         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
54630         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
54631         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
54632         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
54633         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
54634         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
54635         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
54636         test_*_SOURCES.
54637
54638 2006-01-18  Simon Josefsson  <jas@extundo.com>
54639
54640         * modules/socklen (Depends-on): Depend on sys_socket.
54641
54642 2006-01-18  Simon Josefsson  <jas@extundo.com>
54643
54644         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
54645         modules/des-tests, modules/gc-arcfour-tests,
54646         modules/gc-arctwo-tests, modules/gc-des-tests,
54647         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
54648         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
54649         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
54650         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
54651         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
54652         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
54653         $(EXEEXT) to automake TESTS variable, for mingw32.
54654
54655 2006-01-17  Simon Josefsson  <jas@extundo.com>
54656
54657         * modules/socklen (Include): Need sys/socket.h.
54658
54659 2006-01-17  Bruno Haible  <bruno@clisp.org>
54660
54661         * modules/ssize_t (Include): Add <sys/types.h>.
54662
54663 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
54664
54665         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
54666         it's not portable and it doesn't work with cross-compiles.
54667         Problem reported by Bruno Haible.  Fix missing-$ typo in
54668         'test "gl_cv_ignore_unused_libraries" ...' that prevented
54669         -zignore from being used with Sun's C compiler.
54670
54671 2006-01-12  Simon Josefsson  <jas@extundo.com>
54672
54673         * lib/base64.c: Fix warning, reported by Bruno Haible
54674         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
54675
54676 2006-01-12  Bruno Haible  <bruno@clisp.org>
54677
54678         * modules/ldd: New file.
54679         * build-aux/ldd.sh.in: New file.
54680         * MODULES.html.sh (Support for building libraries and executables): Add
54681         ldd.
54682
54683 2006-01-12  Bruno Haible  <bruno@clisp.org>
54684
54685         * m4/ldd.m4: New file.
54686
54687 2006-01-12  Bruno Haible  <bruno@clisp.org>
54688
54689         * gnulib-tool (func_import, func_create_testdir): Don't go into an
54690         endless loop while replacing $auxdir with build-aux.
54691
54692 2006-01-11  Simon Josefsson  <jas@extundo.com>
54693
54694         * lib/stdint_.h (SIZE_MAX): Add missing (.
54695
54696 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
54697
54698         Sync from coreutils.
54699         * lib/md5.c: Fix commentary typos.
54700         (alignof, UNALIGNED_P): No need for a GCC-specific version.
54701         * lib/md5.h (__attribute__): Remove; unused.
54702         * lib/sha1.c: Fix commentary to match md5 better.
54703         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
54704         so that we don't need to worry about alignment.  All uses changed.
54705         This merges the 2005-10-28 md5 change into sha1.
54706
54707 2006-01-11  Jim Meyering  <jim@meyering.net>
54708
54709         Sync from coreutils.
54710         * lib/md5.c (OP): Fix spacing.
54711
54712 2006-01-11  Bruno Haible  <bruno@clisp.org>
54713
54714         Ensure automatic ordering between gl_LOCK and gl_ARGP.
54715         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
54716         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
54717
54718 2006-01-11  Bruno Haible  <bruno@clisp.org>
54719
54720         Ensure automatic ordering between gl_LOCK and gl_ARGP.
54721         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
54722         the "early" section as well.
54723
54724 2006-01-11  Bruno Haible  <bruno@clisp.org>
54725
54726         Avoid "ar: no archive members specified" error on MacOS X.
54727         * gnulib-tool (func_modules_add_dummy): New function.
54728         (func_import, func_create_testdir): Invoke it.
54729
54730 2006-01-11  Bruno Haible  <bruno@clisp.org>
54731
54732         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
54733         with $auxdir in AC_CONFIG_FILES statements.
54734
54735 2006-01-11  Bruno Haible  <bruno@clisp.org>
54736
54737         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
54738         Initialize also noinst_HEADERS to empty.
54739
54740 2006-01-11  Bruno Haible  <bruno@clisp.org>
54741
54742         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
54743         variables.
54744         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
54745         autoreconf.
54746
54747 2006-01-11  Bruno Haible  <bruno@clisp.org>
54748
54749         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
54750         overridable by the user.
54751         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54752
54753 2006-01-10  Simon Josefsson  <jas@extundo.com>
54754
54755         * modules/sys_socket: New file.
54756
54757 2006-01-10  Simon Josefsson  <jas@extundo.com>
54758
54759         * m4/sys_socket_h.m4: New file.
54760
54761 2006-01-10  Simon Josefsson  <jas@extundo.com>
54762
54763         * lib/socket_.h: New file.
54764
54765 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
54766
54767         * modules/readutmp (Maintainer): Add myself.
54768
54769 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
54770
54771         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
54772         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
54773         People who are still concerned with buggy memcmp implementations
54774         can invoke gl_FUNC_MEMCMP themselves.
54775
54776 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
54777
54778         * lib/regex_internal.h (BITSET_WORD_BITS):
54779         Work around a bug in 64-bit PGC (before version 6.1-2), where the
54780         preprocessor mishandles large unsigned values as if they were signed.
54781         Problem reported by Claudio Fontana in
54782         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
54783
54784 2006-01-10  Jim Meyering  <jim@meyering.net>
54785
54786         Avoid the double-free (first in fts_read, second in fts_close) that
54787         would occur when an `active' directory is made inaccessible (e.g.,
54788         via chmod a-x) during a traversal.
54789         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
54790         before returning.  Reproduce this failure by
54791         mkdir -p a/b; cd a; chmod a-x . b
54792         Reported by Stavros Passas.
54793
54794         Sync from coreutils.
54795         * lib/sha1.c: Tweak grammar in a comment.
54796
54797 2006-01-10  Jim Meyering  <jim@meyering.net>
54798
54799         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
54800         Patch by Joerg Sonnenberger.
54801
54802 2006-01-10  Bruno Haible  <bruno@clisp.org>
54803
54804         * modules/readutmp: Depend on module free.
54805         * modules/strtok_r: Depend on module restrict.
54806
54807 2006-01-10  Bruno Haible  <bruno@clisp.org>
54808
54809         * modules/gettext (configure.ac): Add an invocation of
54810         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
54811
54812 2006-01-10  Bruno Haible  <bruno@clisp.org>
54813
54814         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
54815         Reported by Werner Lemberg <wl@gnu.org>.
54816
54817 2006-01-10  Bruno Haible  <bruno@clisp.org>
54818
54819         * lib/localcharset.c: Update from GNU gettext.
54820
54821 2006-01-10  Bruno Haible  <bruno@clisp.org>
54822
54823         * lib/argp.h (__const): Remove macro. Use const instead.
54824         * lib/argp-fmtstream.h (__const): Likewise.
54825         * lib/glob_.h (__const): Remove macro.
54826         * lib/glob-libc.h: Use const instead of __const.
54827
54828 2006-01-10  Bruno Haible  <bruno@clisp.org>
54829
54830         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
54831         variable.
54832         Needed to avoid an automake error regarding the 'gettext' module.
54833
54834 2006-01-09  Simon Josefsson  <jas@extundo.com>
54835
54836         * modules/inet_ntop (Depends-on): Add restrict.
54837
54838 2006-01-09  Simon Josefsson  <jas@extundo.com>
54839
54840         * modules/gc-rijndael-tests (License): Put under LGPL.
54841
54842         * modules/gc-des-tests (License): Likewise.
54843
54844         * modules/gc-arcfour-tests (License): Likewise.
54845
54846         * modules/gc-arctwo-tests (License): Likewise.
54847
54848         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
54849
54850         * modules/gc-hmac-sha1-tests (Files): Likewise.
54851
54852         * modules/gc-hmac-md5-tests (License): Likewise.
54853
54854         * modules/gc-sha1-tests (License): Likewise.
54855
54856         * modules/gc-md5-tests (License): Likewise.
54857
54858         * modules/gc-md4-tests (License): Likewise.
54859
54860         * modules/gc-md2-tests (License): Likewise.
54861
54862         * modules/gc-tests (License): Likewise.
54863
54864         * modules/des-tests (License): Likewise.
54865
54866         * modules/md4-tests (License): Likewise.
54867
54868         * modules/md2-tests (License): Likewise.
54869
54870 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
54871
54872         Sync from coreutils:
54873
54874         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
54875         * modules/lib-ignore: New file.
54876         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
54877         chdir-safer.m4, lchmod.m4.
54878         * modules/openat: Add mkdirat.c, openat-priv.h.
54879
54880 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
54881
54882         Sync from coreutils.
54883         * m4/lib-ignore.m4: New file.
54884         * m4/lchmod.m4: New file.
54885
54886 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
54887
54888         Sync from coreutils.
54889         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
54890         for write access: POSIX says that must fail.
54891         * lib/fts.c (diropen): Likewise.
54892         * lib/save-cwd.c (save_cwd): Likewise.
54893         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
54894         well, for minor improvements on hosts that lack O_DIRECTORY.
54895         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
54896         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
54897         Fall back on chown if open failed with EACCES.
54898
54899         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
54900         Report an error at compile-time if only a 1-second nominal clock
54901         resolution is found.
54902
54903         * lib/lchmod.h: New file.
54904         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
54905         (make_dir_parents): Use lchown rather than chown, and
54906         lchmod rather than chmod.
54907
54908         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
54909         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
54910         "proc" reported by n0dalus.
54911
54912         * lib/mountlist.c: Include <limits.h>.
54913         (dev_from_mount_options)
54914         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
54915         New function.  It no longer assumes "dev=" has the System V meaning
54916         on Linux (since it doesn't).  It also parses "dev=" more carefully.
54917         (read_file_system_list)
54918         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
54919         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
54920         dev= in that case.
54921
54922         * lib/posixtm.h (PDS_PRE_2000): New macro.
54923         * lib/posixtm.c (year): Arg is now syntax_bits rather than
54924         allow_century.  All usages changed.  Reject dates outside the range
54925         1969-1999 if PDS_PRE_2000 is used.
54926
54927 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
54928
54929         Sync from coreutils.
54930         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
54931         (Time of day items): Mention the possibility of leap seconds.
54932         Problem reported by Dr. David Alan Gilbert.
54933
54934 2006-01-09  Jim Meyering  <jim@meyering.net>
54935
54936         Sync from coreutils.
54937
54938         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
54939
54940         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
54941
54942         * lib/modechange.c (mode_compile): Reject an invalid mode string
54943         that starts with an octal digit.  From Andreas Gruenbacher.
54944
54945         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
54946         and dup to open_safer and dup_safer, respectively.
54947         (openat_permissive): Fix typo in comment.
54948
54949         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
54950         "gettext.h"; either no longer needed or are guaranteed by openat.h.
54951         (_): Remove; no longer needed.
54952         (openat): Renamed from rpl_openat; no need for rpl_openat
54953         since openat.h renames openat for us.
54954         Replace most of the body with a call to openat_permissive,
54955         to avoid duplicate code.
54956         Port to (probably hypothetical) environments were mode_t is
54957         wider than int.
54958         (openat_permissive): Require mode arg, so that we can check
54959         types better.  Put it just after flags.  Change cwd failure
54960         indicator from pointer-to-bool to pointer-to-errno-value.
54961         All callers changed.
54962         Invoke openat_save_fail and/or openat_restore_fail if
54963         cwd_errno is null, so that openat can call us.
54964         (openat_permissive, fdopendir, fstatat, unlinkat):
54965         Simplify errno handling to avoid some duplicate code,
54966         as it's OK to set errno on success.
54967         * lib/openat.h: Revamp code so that function macros depend on
54968         __OPENAT_PREFIX only, not also on AT_FDCWD.
54969         (openat_ro): Remove.  Caller changed to use openat_permissive.
54970         (openat_permissive): Now a macro, if not a function.
54971         (openat_restore_fail, openat_save_fail): Now always functions,
54972         since mkdirat needs them even if __OPENAT_PREFIX is defined.
54973
54974         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
54975         and openat.c.
54976         * lib/mkdirat.c: Include openat-priv.h.
54977         Remove definitions of macros defined therein.
54978         * lib/openat.c: Likewise.
54979
54980         * lib/mkdirat.c (mkdirat): New file and function.
54981         * lib/openat.h (mkdirat): Declare.
54982
54983         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
54984
54985         * lib/openat.h (openat_permissive): Declare.
54986         (openat_ro): Define.
54987
54988         * lib/openat.c (EXPECTED_ERRNO): New macro.
54989         (openat_permissive): New function -- used in remove.c rewrite.
54990         (all functions): Set errno just before returning, only if there
54991         was an actual failure.
54992         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
54993
54994         Emulate openat-family functions using Linux's procfs, if possible.
54995         Idea and some code based on Ulrich Drepper's glibc changes.
54996
54997         * lib/openat.c: (BUILD_PROC_NAME): New macro.
54998         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
54999         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
55000         before falling back on save_cwd and restore_cwd.
55001         (fdopendir, fstatat, unlinkat): Likewise.
55002
55003         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
55004         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
55005
55006         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
55007         as second argument to va_arg.  Otherwise, some versions of gcc
55008         warn that `if this code is reached, the program will abort'.
55009
55010 2006-01-09  Jim Meyering  <jim@meyering.net>
55011
55012         Sync from coreutils.
55013         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
55014         Require openat-priv.h.
55015
55016 2006-01-09  Bruno Haible  <bruno@clisp.org>
55017
55018         * modules/strnlen (Include): Use strnlen.h.
55019
55020 2006-01-09  Bruno Haible  <bruno@clisp.org>
55021
55022         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
55023
55024 2006-01-09  Bruno Haible  <bruno@clisp.org>
55025
55026         * lib/sysexit_.h (EX_OK): New macro.
55027         Suggested by Martin Lambers <marlam@marlam.de>.
55028
55029 2006-01-09  Bruno Haible  <bruno@clisp.org>
55030
55031         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
55032         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
55033
55034 2006-01-09  Bruno Haible  <bruno@clisp.org>
55035
55036         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
55037         numbers.
55038
55039 2006-01-09  Bruno Haible  <bruno@clisp.org>
55040
55041         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
55042         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
55043         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
55044         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
55045
55046 2006-01-09  Bruno Haible  <bruno@clisp.org>
55047
55048         * build-aux/javacomp.sh.in: New file, moved from lib/.
55049         * modules/javacomp-script (Files): Update.
55050         (configure.ac): Add AC_CONFIG_FILES invocation.
55051         (EXTRA_DIST): Remove variable.
55052
55053         * build-aux/javaexec.sh.in: New file, moved from lib/.
55054         * modules/javaexec (Files): Update.
55055         (configure.ac): Add AC_CONFIG_FILES invocation.
55056         (EXTRA_DIST): Remove javaexec.sh.in.
55057
55058         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
55059         * modules/csharpcomp-script (Files): Update.
55060         (configure.ac): Add AC_CONFIG_FILES invocation.
55061         (EXTRA_DIST): Remove variable.
55062
55063         * build-aux/csharpexec.sh.in: New file, moved from lib/.
55064         * modules/csharpexec (Files): Update.
55065         (configure.ac): Add AC_CONFIG_FILES invocation.
55066         (EXTRA_DIST): Remove csharpexec.sh.in.
55067
55068 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
55069
55070         Sync from coreutils.
55071
55072         Add POSIX ACL support
55073         * lib/acl.h (copy_acl, set_acl): Add declarations.
55074         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
55075         systems other than Linux.
55076         (chmod_or_fchmod): New function: use fchmod when possible,
55077         and chmod otherwise.
55078         (file_has_acl): Add a POSIX ACL implementation, with a
55079         Linux-specific subcase.
55080         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
55081         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
55082         acls are unsupported.
55083         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
55084         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
55085         are unsupported.
55086
55087 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
55088
55089         Sync from coreutils.
55090         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
55091
55092 2006-01-07  Bruno Haible  <bruno@clisp.org>
55093
55094         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
55095         gl_EARLY.
55096
55097 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
55098
55099         * lib/strftime.c (tzname): Don't declare if it is already #defined.
55100         Problem reported for Mingw by Mark Junker.
55101
55102 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
55103
55104         * README: Gnulib normally doesn't generate a tarball.
55105
55106 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
55107
55108         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
55109         long int, not int, for nanosecond counts, so that people who are
55110         used to POSIX struct timespec won't be surprised.  Reported by Jim
55111         Meyering.
55112
55113 2005-12-28  Bruno Haible  <bruno@clisp.org>
55114
55115         * build-aux/config.rpath: Update from GNU gettext.
55116
55117 2005-12-16  Jim Meyering  <jim@meyering.net>
55118
55119         * modules/fprintftime: New module.
55120         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
55121
55122 2005-12-16  Jim Meyering  <jim@meyering.net>
55123
55124         * m4/fprintftime.m4: New file.
55125
55126 2005-12-16  Jim Meyering  <jim@meyering.net>
55127
55128         * lib/fprintftime.c, lib/fprintftime.h: New files.
55129
55130 2005-12-15  Simon Josefsson  <jas@extundo.com>
55131
55132         * modules/socklen (configure.ac): Fix M4 macro name, to align with
55133         new m4/socklen.m4.
55134
55135 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
55136
55137         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
55138         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
55139
55140 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
55141
55142         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
55143         * lib/argp-help.c (fill_in_uparams): Check if the constructed
55144         struct uparams is valid. Fall back to the default values if it is
55145         not.
55146
55147 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
55148
55149         * modules/argp (Files): Add argp-pin.c
55150         (Depends-on): dirname
55151         (lib_SOURCES): Add argp-pin.c
55152
55153 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
55154
55155         * m4/argp.m4:  Check if program_invocation_name and
55156         program_invocation_short_name are declared and define appropriate
55157         macros if they are not.
55158
55159 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
55160
55161         * lib/argp-help.c (__argp_base_name): New function
55162         (__argp_short_program_name): Rewrite using __argp_base_name
55163         * lib/argp-namefrob.h: Define program_invocation_name and
55164         program_invocation_short_name if requested
55165         (__argp_base_name): Add prototype
55166         * lib/argp-parse.c (argp_def): Use gettext wrappers
55167         (argp_default_parser): Use __argp_base_name
55168         * lib/argp-pin.c: New file. Defines program_invocation_name and
55169         program_invocation_short_name on systems that lack them.
55170
55171 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
55172
55173         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
55174         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
55175         porting problem reported by Georg Schwarz in
55176         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
55177
55178 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
55179
55180         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
55181         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
55182         porting problem reported by Georg Schwarz in
55183         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
55184
55185 2005-12-05  Bruno Haible  <bruno@clisp.org>
55186
55187         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
55188         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
55189         Reported by Mark Junker <mjscod@gmx.de>.
55190
55191 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
55192
55193         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
55194         Use implementation from Albert Chin, with some
55195         comments/corrections by Stepan Kasal and myself.
55196
55197 2005-12-02  Bruno Haible  <bruno@clisp.org>
55198
55199         * gnulib-tool (func_import): Accept GPLed build tool modules when
55200         --lgpl is given.
55201         * modules/csharpcomp-script: New file.
55202         * modules/csharpcomp: Depend on it.
55203         * modules/javacomp-script: New file.
55204         * modules/javacomp: Depend on it.
55205         Suggested by Simon Josefsson.
55206
55207 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
55208
55209         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
55210         statement, to work around an HP-UX 10.20 compiler bug reported by
55211         Peter O'Gorman.
55212
55213 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
55214
55215         * modules/savedir (Depends-on): Add openat.
55216
55217 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
55218
55219         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
55220         (uintmax_t) [defined uintmax_t]: Do not declare.
55221         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
55222         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
55223         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
55224         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
55225         sake of portability to weird hosts that C allows (though we don't
55226         know of any practical examples).
55227
55228         * lib/savedir.h (fdsavedir): New decl.
55229         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
55230         contains most of the former guts of savedir.
55231         (savedir): Use savedirstream.
55232         Include "openat.h".
55233
55234 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
55235
55236         * modules/obstack (Files): Add m4/ulonglong.m4.
55237         Problem reported by Davide Angelocola.
55238
55239 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
55240
55241         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
55242         coreutils no longer futzes with rounding modes.
55243
55244 2005-11-14  Jim Meyering  <jim@meyering.net>
55245
55246         * lib/mkstemp-safer.c: Include <config.h>, required for possible
55247         replacement of mkstemp.
55248
55249 2005-11-10  Simon Josefsson  <jas@extundo.com>
55250
55251         * lib/readline.c: Remove EOL.
55252
55253 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
55254
55255         * modules/gethrxtime (Depends-on): Add gettime.
55256
55257 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
55258
55259         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
55260         or gettimeofday; no longer needed.
55261
55262 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
55263
55264         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
55265         time business.
55266         (gethrxtime) [! (HAVE_NANOUPTIME
55267         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
55268         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
55269         our own approximation.
55270
55271 2005-11-08  Eric Blake  <ebb9@byu.net>
55272
55273         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
55274
55275 2005-11-08  Eric Blake  <ebb9@byu.net>
55276
55277         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
55278
55279 2005-11-04  Bruno Haible  <bruno@clisp.org>
55280
55281         * gnulib-tool: Implement --update mode.
55282
55283 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
55284
55285         Fix porting problem reported by Theodoros V. Kalamatianos.
55286         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
55287         Don't assume that futimes failing means we must fail.
55288
55289 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
55290
55291         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
55292         variables to suggest the intended function of the PATH_MAX check.
55293
55294 2005-10-30  Kean Johnston  <jkj@sco.com>
55295
55296         Trivial changes to support SCO systems.
55297         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
55298         as PATH_MAX.
55299         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
55300         where __ptr is null when no I/O is pending.
55301
55302 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
55303
55304         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
55305         leave errno alone.  Problem reported by Dmitry V. Levin.
55306
55307 2005-10-28  Simon Josefsson  <jas@extundo.com>
55308
55309         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
55310         Test more.
55311
55312         * tests/test-gc-md2.c, tests/test-md2.c: New files.
55313
55314         * modules/md2, modules/md2-tests: New files.
55315
55316 2005-10-28  Simon Josefsson  <jas@extundo.com>
55317
55318         * m4/inet_ntop.m4: More tests.
55319
55320         * m4/gc-md2.m4, md2.m4: New file.
55321
55322 2005-10-28  Simon Josefsson  <jas@extundo.com>
55323
55324         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
55325         "restrict" keywords, as per POSIX.  Protect the function
55326         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
55327         Don't use K&R prototypes.  Check the sprintf return values.
55328         Re-define EAFNOSUPPORT if not present.  Indent.
55329
55330         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
55331         suggested by Bruno Haible <bruno@clisp.org>.
55332
55333         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
55334
55335         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
55336
55337         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
55338         libgcrypt).
55339
55340         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
55341
55342         * lib/md2.h, lib/md2.c: New files.
55343
55344 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
55345
55346         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
55347         errno alone.  Problem reported by Frederic Jolliton.
55348
55349 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
55350
55351         * modules/verify (License): Change from GPL to LGPL.  This is a
55352         tiny module and there are apparently near-equivalents that are
55353         under the BSD license.
55354
55355 2005-10-24  Simon Josefsson  <jas@extundo.com>
55356
55357         * modules/sha1: Relicense to LGPL.
55358
55359 2005-10-24  Simon Josefsson  <jas@extundo.com>
55360
55361         * lib/md4.h: Shrink buffer size, now that we changed the type.
55362
55363 2005-10-23  Simon Josefsson  <jas@extundo.com>
55364
55365         * gnulib-tool (func_import): Fix --tests-base.
55366
55367 2005-10-22  Simon Josefsson  <jas@extundo.com>
55368
55369         * modules/arcfour (Depends-on): Need stdint.
55370
55371 2005-10-22  Simon Josefsson  <jas@extundo.com>
55372
55373         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
55374         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
55375
55376 2005-10-22  Simon Josefsson  <jas@extundo.com>
55377
55378         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
55379         suggested by Bruno Haible <bruno@clisp.org>.
55380
55381 2005-10-22  Simon Josefsson  <jas@extundo.com>
55382
55383         * lib/crc.h: Include stddef.h, for size_t.
55384
55385 2005-10-22  Simon Josefsson  <jas@extundo.com>
55386
55387         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
55388         arcfour_context struct (simplify test vector testing in GNU
55389         Shishi).
55390
55391 2005-10-21  Simon Josefsson  <jas@extundo.com>
55392
55393         * modules/des, modules/des-tests: New files.
55394
55395         * modules/gc-des, modules/gc-des-tests: New files.
55396
55397         * tests/test-des.c, tests/test-gc-des.c: New file.
55398
55399 2005-10-21  Simon Josefsson  <jas@extundo.com>
55400
55401         * modules/arctwo, modules/arctwo-tests: New files.
55402
55403         * tests/test-arctwo.c: New file.
55404
55405         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
55406
55407         * tests/test-gc-arctwo.c: New file.
55408
55409 2005-10-21  Simon Josefsson  <jas@extundo.com>
55410
55411         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
55412         Bruno Haible <bruno@clisp.org>.
55413
55414         * m4/gc-des.m4: New file.
55415
55416 2005-10-21  Simon Josefsson  <jas@extundo.com>
55417
55418         * m4/arctwo.m4: New file.
55419
55420         * m4/gc-arctwo.m4: New file.
55421
55422 2005-10-21  Simon Josefsson  <jas@extundo.com>
55423
55424         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
55425         block.
55426
55427 2005-10-21  Simon Josefsson  <jas@extundo.com>
55428
55429         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
55430         <bruno@clisp.org>.
55431
55432         * lib/hmac-sha1.c (hmac_sha1): Likewise.
55433
55434         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
55435         Bruno Haible <bruno@clisp.org>.
55436
55437         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
55438         <bruno@clisp.org>.
55439
55440 2005-10-21  Simon Josefsson  <jas@extundo.com>
55441
55442         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
55443
55444 2005-10-21  Simon Josefsson  <jas@extundo.com>
55445
55446         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
55447
55448 2005-10-21  Simon Josefsson  <jas@extundo.com>
55449
55450         * lib/des.h, lib/des.c: New files.
55451
55452         * lib/gc-gnulib.c: Support DES.c
55453
55454 2005-10-21  Simon Josefsson  <jas@extundo.com>
55455
55456         * lib/arctwo.h, lib/arctwo.c: New files.
55457
55458         * lib/gc-gnulib.c: Support ARCTWO.
55459
55460 2005-10-21  Simon Josefsson  <jas@extundo.com>
55461
55462         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
55463         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
55464
55465 2005-10-21  Simon Josefsson  <jas@extundo.com>
55466
55467         * gnulib-tool (func_import, func_create_testdir): Define automake
55468         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
55469         Makefile.am snippet),
55470         suggested by Bruno Haible <bruno@clisp.org>.
55471
55472         * modules/gc (Makefile.am): Use it.
55473
55474 2005-10-21  Bruno Haible  <bruno@clisp.org>
55475
55476         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
55477         patch.
55478
55479 2005-10-19  Simon Josefsson  <jas@extundo.com>
55480
55481         * tests/test-gc-rijndael.c: New file.
55482
55483         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
55484
55485 2005-10-19  Simon Josefsson  <jas@extundo.com>
55486
55487         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
55488         interface too.
55489
55490 2005-10-19  Simon Josefsson  <jas@extundo.com>
55491
55492         * tests/test-gc-arcfour.c: New file.
55493
55494         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
55495
55496 2005-10-19  Simon Josefsson  <jas@extundo.com>
55497
55498         * modules/gc-md4, modules/gc-md4-tests: New file.
55499
55500         * tests/test-gc-md4.c: New file.
55501
55502 2005-10-19  Simon Josefsson  <jas@extundo.com>
55503
55504         * m4/gc-md4.m4: New file.
55505
55506 2005-10-19  Simon Josefsson  <jas@extundo.com>
55507
55508         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
55509         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
55510         <kasal@ucw.cz>.
55511
55512 2005-10-19  Simon Josefsson  <jas@extundo.com>
55513
55514         * m4/gc-arcfour.m4: New file.
55515
55516         * m4/gc-rijndael.m4: New file.
55517
55518 2005-10-19  Simon Josefsson  <jas@extundo.com>
55519
55520         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
55521
55522 2005-10-19  Simon Josefsson  <jas@extundo.com>
55523
55524         * lib/gc-gnulib.c: Support ARCFOUR.
55525
55526 2005-10-19  Simon Josefsson  <jas@extundo.com>
55527
55528         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
55529         support.
55530
55531         * lib/gc.h: Add ECB enum type.
55532
55533         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
55534
55535 2005-10-18  Simon Josefsson  <jas@extundo.com>
55536
55537         * tests/test-md5.c: New file.
55538
55539         * modules/md5-tests: New file.
55540
55541 2005-10-18  Simon Josefsson  <jas@extundo.com>
55542
55543         * tests/test-md4.c: New file.
55544
55545         * modules/md4, modules/md4-tests: New files.
55546
55547 2005-10-18  Simon Josefsson  <jas@extundo.com>
55548
55549         * m4/md4.m4: New file.
55550
55551 2005-10-18  Simon Josefsson  <jas@extundo.com>
55552
55553         * lib/md4.h, lib/md4.c: New files, based on md5.?.
55554
55555 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
55556
55557         * gnulib-tool (func_create_testdir): Omit the second check whether
55558         BUILT_SOURCES in nonempty.
55559
55560 2005-10-17  Simon Josefsson  <jas@extundo.com>
55561
55562         * tests/test-rijndael.c: New file.
55563
55564 2005-10-17  Simon Josefsson  <jas@extundo.com>
55565
55566         * modules/sha1: Depend on stdint instead of md5.
55567
55568         * modules/md5: Depend on stdint, remove uint32_t.
55569
55570 2005-10-17  Simon Josefsson  <jas@extundo.com>
55571
55572         * modules/gc-sha1-tests: New file.
55573
55574         * tests/test-gc-sha1.c: New file.
55575
55576 2005-10-17  Simon Josefsson  <jas@extundo.com>
55577
55578         * m4/md5.m4: Remove call to uint32_t.m4.
55579
55580 2005-10-17  Simon Josefsson  <jas@extundo.com>
55581
55582         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
55583
55584         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
55585         md5.h.
55586
55587         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
55588
55589         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
55590
55591 2005-10-17  Simon Josefsson  <jas@extundo.com>
55592
55593         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
55594
55595 2005-10-17  Simon Josefsson  <jas@extundo.com>
55596
55597         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
55598
55599 2005-10-17  Simon Josefsson  <jas@extundo.com>
55600
55601         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
55602
55603         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
55604
55605 2005-10-17  Bruno Haible  <bruno@clisp.org>
55606
55607         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
55608         that it can also be used in a test.
55609
55610 2005-10-16  Bruno Haible  <bruno@clisp.org>
55611
55612         * gnulib-tool (func_emit_tests_Makefile_am): Also define
55613         TESTS_ENVIRONMENT, so that individual tests can augment it.
55614
55615         * gnulib-tool (func_create_testdir): Use an intermediate target for
55616         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
55617         macros, like $(ALLOCA_H), which cannot be passed through the command
55618         line.
55619
55620 2005-10-15  Simon Josefsson  <jas@extundo.com>
55621
55622         * modules/rijndael-tests: New file.
55623
55624         * modules/rijndael: New file.
55625
55626 2005-10-15  Simon Josefsson  <jas@extundo.com>
55627
55628         * m4/rijndael.m4: New file.
55629
55630 2005-10-15  Simon Josefsson  <jas@extundo.com>
55631
55632         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
55633
55634         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
55635
55636 2005-10-14  Simon Josefsson  <jas@extundo.com>
55637
55638         * tests/test-arcfour.c: New file.
55639
55640         * modules/arcfour, modules/arcfour-tests: New files.
55641
55642 2005-10-14  Simon Josefsson  <jas@extundo.com>
55643
55644         * m4/arcfour.m4: New file.
55645
55646 2005-10-14  Simon Josefsson  <jas@extundo.com>
55647
55648         * lib/arcfour.h, lib/arcfour.c: New files.
55649
55650 2005-10-14  Roland McGrath  <roland@redhat.com>
55651
55652         Import from libc.  [BZ #1331]
55653         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
55654         macro argument.
55655         Reported by Matej Vela <vela@debian.org>.
55656
55657 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
55658
55659         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
55660         include <wchar.h>; no longer needed.
55661
55662 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
55663
55664         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
55665
55666 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
55667         and  Ulrich Drepper  <drepper@redhat.com>
55668
55669         Import from libc.
55670         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
55671         instead of inline stream orientation test and two separate
55672         function calls.  Pay no attention to USE_IN_LIBIO.
55673
55674 2005-10-13  Simon Josefsson  <jas@extundo.com>
55675
55676         * modules/gc-hmac-md5-tests: New file.
55677
55678         * tests/test-gc-hmac-sha1.c: New file.
55679
55680         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
55681
55682         * modules/gc-hmac-md5-tests: New file.
55683
55684         * tests/test-gc-md5.c: New file.
55685
55686         * modules/gc-md5-tests: New file.
55687
55688 2005-10-13  Simon Josefsson  <jas@extundo.com>
55689
55690         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
55691         Move memory allocation outside of loop.
55692
55693 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
55694
55695         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
55696         intermediate directory is in a read-only file system.  Problem
55697         reported by Eric Blake.
55698
55699 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
55700
55701         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
55702
55703 2005-10-12  Simon Josefsson  <jas@extundo.com>
55704
55705         * tests/test-hmac-sha1.c: New file.
55706
55707         * modules/hmac-sha1-tests: New file.
55708
55709         * modules/hmac-sha1: New file.
55710
55711 2005-10-12  Simon Josefsson  <jas@extundo.com>
55712
55713         * modules/gc-sha1: New file.
55714
55715 2005-10-12  Simon Josefsson  <jas@extundo.com>
55716
55717         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
55718
55719         * tests/test-gc-pbkdf2-sha1.c: New file.
55720
55721 2005-10-12  Simon Josefsson  <jas@extundo.com>
55722
55723         * modules/gc-md5, modules/gc-hmac-md5: New files.
55724
55725         * modules/gc (Files): Remove md5, memxor and hmac files.
55726
55727 2005-10-12  Simon Josefsson  <jas@extundo.com>
55728
55729         * m4/gc-pbkdf2-sha1.m4: New file.
55730
55731         * m4/gc-hmac-sha1.m4: New file.
55732
55733         * m4/gc-sha1: New file.
55734
55735         * m4/hmac-sha1.m4: New file.
55736
55737 2005-10-12  Simon Josefsson  <jas@extundo.com>
55738
55739         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
55740
55741         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
55742
55743 2005-10-12  Simon Josefsson  <jas@extundo.com>
55744
55745         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
55746         suggested by Bruno Haible <bruno@clisp.org>.
55747
55748 2005-10-12  Simon Josefsson  <jas@extundo.com>
55749
55750         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
55751
55752 2005-10-12  Simon Josefsson  <jas@extundo.com>
55753
55754         * lib/gc-pbkdf2-sha1.c: New file.
55755
55756         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
55757
55758 2005-10-12  Simon Josefsson  <jas@extundo.com>
55759
55760         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
55761
55762         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
55763
55764 2005-10-12  Simon Josefsson  <jas@extundo.com>
55765
55766         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
55767         GC_USE_HMAC_MD5, respectively.
55768
55769         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
55770         (gc_md5): Fix typo.
55771
55772         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
55773
55774         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
55775
55776         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
55777
55778 2005-10-12  Bruno Haible  <bruno@clisp.org>
55779
55780         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
55781         Reported by Stepan Kasal <kasal@ucw.cz>.
55782
55783 2005-10-11  Simon Josefsson  <jas@extundo.com>
55784
55785         * tests/test-crc.c: New file.
55786
55787         * modules/crc, modules/crc-tests: New files.
55788
55789 2005-10-11  Simon Josefsson  <jas@extundo.com>
55790
55791         * m4/crc.m4: New file.
55792
55793 2005-10-11  Simon Josefsson  <jas@extundo.com>
55794
55795         * lib/gc.h: Add gc_hash and gc_hash_buffer.
55796
55797         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
55798
55799         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
55800
55801 2005-10-11  Simon Josefsson  <jas@extundo.com>
55802
55803         * lib/crc.h, lib/crc.c: New files.
55804
55805         * lib/gc.h (gc_hash_buffer): Add doc.
55806
55807 2005-10-11  Bruno Haible  <bruno@clisp.org>
55808
55809         * modules/c-strcasestr: New file.
55810         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
55811
55812 2005-10-11  Bruno Haible  <bruno@clisp.org>
55813
55814         * modules/c-strcase: New file.
55815         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
55816
55817 2005-10-11  Bruno Haible  <bruno@clisp.org>
55818
55819         * lib/strcasecmp.c: Include limits.h.
55820         (strcasecmp): Avoid integer overflow on exotic platforms.
55821         * lib/strncasecmp.c: Include limits.h.
55822         (strncasecmp): Avoid integer overflow on exotic platforms.
55823         Reported by Paul Eggert.
55824
55825 2005-10-11  Bruno Haible  <bruno@clisp.org>
55826
55827         * lib/c-strcasestr.h: New file, from GNU gettext.
55828         * lib/c-strcasestr.c: New file, from GNU gettext.
55829
55830 2005-10-11  Bruno Haible  <bruno@clisp.org>
55831
55832         * lib/c-strcase.h: New file, from GNU gettext.
55833         * lib/c-strcasecmp.c: New file, from GNU gettext.
55834         * lib/c-strncasecmp.c: New file, from GNU gettext.
55835
55836 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
55837
55838         * modules/mempcpy (License): GPL -> LGPL.
55839         * modules/strchrnul (License): Likewise.
55840         * modules/sysexits (License): Likewise.
55841
55842 2005-10-08  Simon Josefsson  <jas@extundo.com>
55843
55844         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
55845
55846 2005-10-07  Simon Josefsson  <jas@extundo.com>
55847
55848         * m4/memxor.m4: Remove gl_C_RESTRICT call.
55849
55850 2005-10-06  Simon Josefsson  <jas@extundo.com>
55851
55852         * tests/test-hmac-md5.c: New file.
55853
55854         * modules/hmac-md5-tests: New file.
55855
55856         * modules/hmac-md5: New file.
55857
55858 2005-10-06  Simon Josefsson  <jas@extundo.com>
55859
55860         * m4/hmac-md5.m4: New file.
55861
55862         * m4/memxor.m4: Require gl_C_RESTRICT.
55863
55864 2005-10-06  Simon Josefsson  <jas@extundo.com>
55865
55866         * lib/memxor.c (memxor): Avoid casts and warnings.
55867
55868 2005-10-06  Simon Josefsson  <jas@extundo.com>
55869
55870         * lib/hmac-md5.c: New file.
55871
55872         * lib/hmac.h: New file.
55873
55874 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
55875
55876         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
55877         promotes to int, not unsigned int, to catch the AIX 5.3
55878         compiler bug.
55879
55880 2005-10-05  Simon Josefsson  <jas@extundo.com>
55881
55882         * modules/memxor: New file.
55883
55884         * modules/iconv (Files): Move config.rpath to havelib, it is used
55885         there.
55886
55887         * modules/havelib (Files): Add config.rpath.
55888
55889 2005-10-05  Simon Josefsson  <jas@extundo.com>
55890
55891         * m4/memxor.m4: New file.
55892
55893 2005-10-05  Simon Josefsson  <jas@extundo.com>
55894
55895         * lib/memxor.c (memxor): Fix compiler error.
55896
55897         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
55898         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
55899
55900         * lib/memxor.h, lib/memxor.c: New files.
55901
55902         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
55903         we assume all systems have it, suggested by Jim Meyering
55904         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
55905         any systems lack sys/socket.h; mingw32 is known to lack it, but we
55906         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
55907         same reasons.
55908
55909 2005-10-05  Simon Josefsson  <jas@extundo.com>
55910
55911         * config/srclist.txt: Add glibc bug 1423 for md5.h.
55912
55913 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
55914
55915         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
55916         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
55917         needed, since the source code now assumes these .h files.
55918
55919 2005-10-05  Derek Price  <derek@ximbiot.com>
55920
55921         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
55922
55923 2005-10-05  Bruno Haible  <bruno@clisp.org>
55924
55925         * modules/stdint (License): Change to LGPL.
55926
55927 2005-10-04  Simon Josefsson  <jas@extundo.com>
55928
55929         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
55930         D. Baushke" <mdb@gnu.org>.
55931
55932 2005-10-04  Bruno Haible  <bruno@clisp.org>
55933
55934         * lib/verify.h (verify_true): Provide alternative definition for C++.
55935
55936 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
55937
55938         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
55939         (SSIZE_MAX): New macro, if not already defined.
55940         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
55941         than 2 GiB.
55942
55943 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
55944
55945         Sync from coreutils.
55946         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
55947         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
55948         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
55949         ULLONG_MAX doesn't work with 2.7.2.1.
55950
55951 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
55952
55953         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
55954         From Ben Pfaff.
55955
55956         * modules/exclude (Depends-on): Depend on verify.
55957         * modules/strtoimax (Depends-on): Likewise.
55958         * modules/utimecmp (Depends-on): Likewise.
55959
55960 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
55961
55962         * lib/exclude.c: Include verify.h.
55963         (verify): Remove.  All callers changed to use verify.h's version.
55964         * lib/strtoimax.c: Likewise.
55965         * lib/utimecmp.c: Likewis.e
55966
55967         Sync from coreutils.
55968         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
55969         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
55970         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
55971         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
55972         bother returning ENOSYS if settimeofday or stime fails; just let
55973         them return whatever errno they want to return.
55974         * lib/utimens.c: Include unistd.h, for dup2.
55975         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
55976         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
55977
55978 2005-10-02  Jim Meyering  <jim@meyering.net>
55979
55980         Sync from coreutils.
55981         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
55982         from glibc-2.2.5 that fails for read-only files.
55983
55984 2005-10-02  Jim Meyering  <jim@meyering.net>
55985
55986         Sync from coreutils.
55987         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
55988         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
55989         `#if HAVE_CONFIG_H'.
55990         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
55991         Remove AT_FDCWD test.
55992         Do not consume the fd unless successful.
55993         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
55994         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
55995         block, so that we don't even try to compile it if settimeofday is
55996         available.  This works around a compilation failure on OSF1 V5.1,
55997         due to stime requiring a `long int*' while tv_sec is `int'.
55998
55999 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
56000
56001         Sync from coreutils.
56002         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
56003         against `yes', rather than just testing for nonempty.
56004
56005 2005-10-01  Simon Josefsson  <jas@extundo.com>
56006
56007         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
56008         and Darwin.
56009
56010         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
56011         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
56012         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
56013         freeaddrinfo and gai_strerror are declared by the POSIX headers.
56014         Check if struct addrinfo is declared.
56015
56016 2005-10-01  Simon Josefsson  <jas@extundo.com>
56017
56018         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
56019         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
56020         AI_* and EAI_* definitions.  Protect function declarations.
56021
56022 2005-10-01  Jim Meyering  <jim@meyering.net>
56023
56024         Sync from coreutils.
56025
56026         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
56027         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
56028         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
56029         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
56030         in the inet and nsl libraries.  Required on Solaris 5.7.
56031
56032 2005-10-01  Jim Meyering  <jim@meyering.net>
56033
56034         Sync from coreutils.
56035         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
56036         in the inet and nsl libraries.  Required on Solaris 5.7.
56037
56038 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
56039
56040         * lib/getdelim.c (getdelim): Remove unused variables.
56041
56042 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
56043
56044         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
56045         so that the code works even with ancient cpp.  Portability problem
56046         with GCC 2.7.2.1 reported by Thomas M.Ott.
56047
56048 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
56049
56050         * modules/regex (Depends-on): Add strcase.
56051
56052         * modules/gethostname (Licence): Change from GPL to LGPL, since
56053         gethostname.c is a trivial implementation of a standard library
56054         function.
56055         * modules/poll (License): Change from GPL to LGPL, since it's
56056         derived from LGPL code.
56057
56058 2005-09-27  Jim Meyering  <jim@meyering.net>
56059
56060         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
56061         HAVE_CONFIG_H.
56062
56063         * lib/intprops.h (signed_type_or_expr__): Define.
56064         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
56065         for unsigned types.
56066
56067 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
56068
56069         * lib/verify.h (verify_expr): Remove, replacing with:
56070         (verify_true): New macro that returns true instead of void.
56071         (verify_type__): Remove.
56072         (verify): Use verify_true rather than verify_type__.
56073
56074 2005-09-26  Bruno Haible  <bruno@clisp.org>
56075
56076         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
56077         is necessary.
56078         (lib_SOURCES): Remove mbchar.c.
56079         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
56080         (Files): Add m4/mbrtowc.m4.
56081         * modules/mbiter: Likewise.
56082         * modules/mbuiter: Likewise.
56083
56084 2005-09-26  Bruno Haible  <bruno@clisp.org>
56085
56086         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
56087         compile mbchar.c if they are not both present.
56088         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
56089         * m4/mbiter.m4 (gl_MBITER): Likewise.
56090         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
56091         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
56092         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
56093
56094 2005-09-25  Jim Meyering  <jim@meyering.net>
56095
56096         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
56097         also uses socklen_t.
56098
56099 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
56100
56101         * lib/utimens.c (ENOSYS): Define if not already defined.
56102         (futimens): Support having a null PATH if the file descriptor
56103         is nonnegative.
56104
56105         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
56106         Remove.
56107         (__attribute): Define to empty unless GCC 3.1 or later.
56108         This works around a core dump on OpenBSD 3.4, which has GCC
56109         2.95.3, which dumps core when given __attribute__(()).  It also
56110         simplifies other tests, since we really don't want to bother with
56111         worrying about which ancient version of GCC supported what.
56112         Original problem reported by Yoann Vandoorselaere, with part of
56113         the fix suggested by Derek Price.
56114
56115 2005-09-24  Jim Meyering  <jim@meyering.net>
56116
56117         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
56118         so we can once again use a positive bitfield width of 1 -- now we
56119         don't have to explain why we were using a bitfield width of 2.
56120
56121 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
56122
56123         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
56124         and similarly for the other external symbols.  Problem reported
56125         by James Gallager.
56126
56127         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
56128         bug reported by Jim Meyering.
56129
56130         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
56131         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
56132         not needed, since socklen is a prerequisite module.
56133
56134 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
56135
56136         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
56137         Problem reported by Eric Blake.
56138         (getaddrinfo): Initialize se so that it's not garbage.
56139         Redo internal storage allocation so that it doesn't make unportable
56140         assumptions about alignment.
56141         Fix a memory leak.
56142
56143         * lib/utimens.c (futimens): Use futimesat if available.
56144         Prefer it to futimes since it doesn't have the futimes bug.
56145
56146         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
56147         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
56148         Instead, declare a function that returns a pointer to an array,
56149         and use verify_type__ to declare the size of the array.
56150         Problem and germ of a solution reported by Bruno Haible.
56151         (verify_type__): Use 2, not 1, for bitfield size, to avoid
56152         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
56153
56154 2005-09-23  Jim Meyering  <jim@meyering.net>
56155
56156         Sync from coreutils.
56157         Correct build failure (socklen_t not defined) on at least
56158         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
56159         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
56160
56161 2005-09-23  Jim Meyering  <jim@meyering.net>
56162
56163         * modules/getaddrinfo (Depends-on): Add socklen.
56164
56165 2005-09-23  Bruno Haible  <bruno@clisp.org>
56166
56167         * tests/test-verify.c: New file.
56168
56169 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
56170
56171         Sync from coreutils.
56172
56173         * modules/argmatch (Depends-on): Add verify.
56174         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
56175         unistd-safer.
56176         * modules/save-cwd (Depends-on): Likewise.
56177
56178         * modules/openat (Files): Add lib/openat-die.c.
56179         (Depends-on): Remove error, exitfail.
56180         Add dirname.
56181
56182         * modules/verify: New file.
56183         * MODULES.html.sh (Diagnostics <assert.h>): New section,
56184         with "verify" module.
56185
56186 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
56187
56188         Sync from coreutils.
56189
56190         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
56191         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
56192         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
56193         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
56194         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
56195         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
56196         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
56197         Don't bother checking for string.h, stdlib.h, unistd.h.
56198         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
56199         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
56200         module's job.
56201         * m4/jm-macros.m4 (gl_MACROS): Likewise.
56202         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
56203
56204         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
56205         (gl_GETDATE): Use it.
56206
56207         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
56208
56209 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
56210
56211         Sync from coreutils.
56212
56213         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
56214         stat-time.h.
56215         * lib/argmatch.h: Include verify.h
56216         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
56217         (ARGMATCH_ASSERT): Remove; unused.
56218         * lib/canonicalize.c: Assume STDC_HEADERS.
56219         * lib/exclude.c: Include "strcase.h".
56220         * lib/regex_internal.h [!defined _LIBC]: Likewise.
56221         * lib/getusershell.c: Include stdio--.h rather than stdio.h
56222         and stdio-safer.h.
56223         (getusershell): Call fopen, not fopen_safer.
56224         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
56225         Do not include unistd-safer.h.
56226         (save_cwd): Don't call fd_safer; no longer needed
56227         now that we include fcntl--.h.
56228
56229         * lib/getdate.y (relative_time): New type.
56230         (RELATIVE_TIME_0): New constant.
56231         (parser_control): Use relative_time instead of doing it ourselves.
56232         (%union): Add new relative_time rel member.
56233         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
56234         Now typeless.
56235         (relunit, relunit_snumber): Now of type rel.
56236         (zone, rel, relunit, get_date): Adjust to above changes.
56237
56238         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
56239         Do not include unistd-safer.h.
56240         (getloadavg): Don't call fd_safer; no longer needed
56241         now that we include fcntl--.h.
56242
56243         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
56244         (make_dir_parents): Treat ENOSYS like EEXIST.
56245
56246         Improve quality of diagnostics on restore_cwd failure.
56247         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
56248         (make_dir_parents): Last arg is now int * (for errno), not bool *.
56249         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
56250         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
56251         each time through the loop.  Do not diagnose restore_cwd failure;
56252         that is the caller's job (and perhaps the caller does not care).
56253
56254         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
56255         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
56256         If the file already exists but is not a directory, don't bother
56257         to try to make its parents.
56258         Close potential file descriptor leak if we can't chdir("/") (!).
56259         Don't always return true if chdir($PWD) fails; return true only
56260         if the requested action was done successfully (except for the
56261         chdir($PWD)).
56262         Don't log final directory unless we actually made it.
56263         Refactor to avoid duplicate code to fix up permissions.
56264         Don't attempt to fix up parent permissions if chdir($PWD) fails.
56265
56266         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
56267         to make it a bit faster and (I hope) clearer.
56268         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
56269         Fix bug in formats like %2N.
56270
56271         * lib/verify.h: New file.
56272
56273 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
56274
56275         Sync from coreutils.
56276         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
56277
56278 2005-09-22  Jim Meyering  <jim@meyering.net>
56279
56280         Sync from coreutils.
56281
56282         * m4/lstat.m4 (gl_FUNC_LSTAT):
56283         Use AC_LIBSOURCES to require lstat.c and lstat.h.
56284         Remove obsolete comment.
56285         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
56286         * m4/xstrtod.m4: Likewise.
56287
56288         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
56289
56290 2005-09-22  Jim Meyering  <jim@meyering.net>
56291
56292         Sync from coreutils.
56293
56294         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
56295
56296         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
56297         the .tm_year member, since otherwise gcc-4.0 would now warn about
56298         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
56299
56300         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
56301         order to avoid an unsuppressible warning from gcc on 64-bit systems.
56302
56303         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
56304         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
56305         when run in a time zone for which daylight savings time is in effect
56306         for the starting date.
56307
56308         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
56309         stop us from restricting permissions of just-created absolute-named
56310         directories.
56311         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
56312         to restore initial working directory.
56313         * lib/mkdir-p.c (make_dir_parents): New parameter:
56314         different_working_dir, to tell caller if/when we change the working
56315         directory and are unable to return to the initial one.
56316         * lib/mkdir-p.h (make_dir_parents): Update prototype.
56317         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
56318         `return false'.  This fixes a bug introduced on 2004-07-30.
56319
56320         * lib/openat.c (fdopendir): Be sure to close the supplied
56321         file descriptor before returning.  This makes our replacement
56322         implementation a little closer to Solaris's, where fdopendir
56323         ties the file descriptor to the returned DIR* pointer.
56324         * lib/openat.c (unlinkat): New function.
56325         * lib/openat.h (unlinkat): Add prototype.
56326         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
56327         (openat_restore_fail): Rename from openat_restore_die.
56328         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
56329
56330         Provide an alternative to exiting immediately upon save_cwd or
56331         restore_cwd failure.  Now, an application can arrange e.g.,
56332         to perform a longjump in that case.
56333         * lib/openat.c: Include dirname.h.
56334         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
56335         (rpl_openat, fdopendir, fstatat): Call openat_save_die
56336         and openat_restore_die rather than calling error directly.
56337         Don't include "error.h" or "exitfail.h"; they're no longer needed.
56338
56339         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
56340         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
56341         define.
56342
56343         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
56344         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
56345                             int utc, int nanoseconds);
56346         Background:
56347         date should not have to allocate a megabyte of virtual memory to
56348         handle a format argument like +%1048575T.  When implemented with
56349         strftime, it must allocate such a buffer, use strftime to fill it
56350         in, print it, then free it.
56351         With fprintftime, it simply prints everything and exits.
56352         With no need for memory allocation, that's one fewer way to fail.
56353         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
56354         optional field width, not before, so we accept %9:z, not %:9z.
56355         (my_strftime): Be sure to use L_('x') for literals.
56356
56357         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
56358         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
56359         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
56360         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
56361         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
56362         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
56363         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
56364         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
56365         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
56366         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
56367         * lib/xgethostname.c, lib/xreadlink.c:
56368         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
56369
56370         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
56371         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
56372         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
56373         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
56374         and don't include <sys/file.h>).
56375
56376 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
56377
56378         Sync from coreutils.
56379
56380         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
56381         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
56382         [!LDAV_DONE]: Avoid unused variable warning.
56383
56384 2005-09-21  Bruno Haible  <bruno@clisp.org>
56385
56386         * lib/unicodeio.h (unicode_to_mb): New declaration.
56387
56388 2005-09-20  Derek Price  <derek@ximbiot.com>
56389
56390         * lib/getaddrinfo.c: Don't include <netdb.h> included from
56391         getaddrinfo.h.
56392
56393 2005-09-20  Bruno Haible  <bruno@clisp.org>
56394
56395         * gnulib-tool: Remove trailing slashes from the values specified for
56396         --source-base, --m4-base, --tests-base, --aux-dir.
56397         Suggested by Simon Josefsson <jas@extundo.com>.
56398
56399 2005-09-20  Bruno Haible  <bruno@clisp.org>
56400
56401         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
56402         func_modules_to_filelist, func_import, func_create_testdir): Make all
56403         sorting results locale-independent, so that gnulib-cache.m4 doesn't
56404         change when gnulib-tool is invoked in a different locale.
56405
56406 2005-09-19  Simon Josefsson  <jas@extundo.com>
56407
56408         * m4/socklen.m4: Fix typo.
56409
56410 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56411
56412         Use a consistent style for including <config.h>.
56413         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
56414         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
56415         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
56416         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
56417         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
56418         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
56419         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
56420         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
56421         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
56422         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
56423         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
56424         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
56425         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
56426         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
56427         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
56428         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
56429         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
56430         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
56431         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
56432         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
56433         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
56434         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
56435         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
56436         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
56437         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
56438         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
56439         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
56440         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
56441         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
56442         lib/xstrtoumax.c, lib/yesno.c:
56443         Standardize inclusion of config.h.
56444         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
56445         lib/inttostr.h:  Removed inclusion of config.h from header files.
56446         * lib/inttostr.c:  Adjusted in-tree users.
56447         * lib/timespec.h: Remove superfluous warning to include config.h.
56448         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
56449         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
56450         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
56451         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
56452         config.h with HAVE_CONFIG_H.
56453
56454 2005-09-19  Jim Meyering  <jim@meyering.net>
56455
56456         * modules/pathmax (License): Change to LGPL.
56457
56458 2005-09-19  Derek Price  <derek@ximbiot.com>
56459
56460         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
56461
56462 2005-09-19  Bruno Haible  <bruno@clisp.org>
56463
56464         * gnulib-tool (import): Provide default for --tests-base.
56465
56466 2005-09-19  Bruno Haible  <bruno@clisp.org>
56467
56468         * doc/quote.texi: New file, extracted from gnulib.texi.
56469         * doc/ctime.texi: New file, extracted from gnulib.texi.
56470         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
56471         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
56472         * doc/gnulib.texi: Include them.
56473
56474 2005-09-18  Bruno Haible  <bruno@clisp.org>
56475
56476         Portability fix.
56477         * gnulib-tool (func_readlink): New function.
56478         (func_ln_if_changed): Use it.
56479
56480 2005-09-18  Bruno Haible  <bruno@clisp.org>
56481
56482         * gnulib-tool: Support --with-tests also with --import.
56483         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
56484         (func_import): Use variables $testsbase and $inctests. Emit a
56485         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
56486         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
56487         SUBDIRS += $testsdir.
56488         (func_create_testdir): Update.
56489
56490 2005-09-18  Bruno Haible  <bruno@clisp.org>
56491
56492         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
56493         instead of $dry_run.
56494         (func_cp_if_changed, func_mv_if_changed): Remove functions.
56495         (func_ln_if_changed): Don't handle dry-run here.
56496         (func_import): In dry-run mode, detect more precisely which actions
56497         would be performed, and don't use "...ing" verbs.
56498
56499 2005-09-18  Bruno Haible  <bruno@clisp.org>
56500
56501         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
56502         (func_import): Use join on two temporary files instead of three nested
56503         loops, in order to determine which files are new or old.
56504
56505 2005-09-18  Bruno Haible  <bruno@clisp.org>
56506
56507         * gnulib-tool (func_import): Comment out code that spits out the
56508         new files with --dry-run.
56509
56510 2005-09-18  Bruno Haible  <bruno@clisp.org>
56511
56512         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
56513
56514 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
56515
56516         * lib/stat-time.h: New file.
56517         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
56518         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
56519         in a different way.
56520         (timespec_cmp): New function.
56521         * lib/utimecmp.c: Include stat-time.h.
56522         (SYSCALL_RESOLUTION): Depend on whether various struct stat
56523         members exist, not on the obsolescent ST_MTIM_NSEC.
56524         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
56525
56526 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
56527
56528         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
56529
56530 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
56531
56532         * MODULES.html.sh (File system functions): Add stat-time.
56533         * modules/stat-time: New file.
56534         * modules/timespec (Files): Remove m4/st_mtim.m4; this
56535         is now done in a different way, by the stat-time module.
56536         * modules/utimecmp (Depends-on): Add stat-time.
56537
56538 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
56539
56540         * m4/st_mtim.m4: Remove.  Superseded by...
56541         * m4/stat-time.m4: New file.
56542         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
56543         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
56544
56545 2005-09-15  Derek Price  <derek@ximbiot.com>
56546
56547         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
56548
56549 2005-09-15  Derek Price  <derek@ximbiot.com>
56550
56551         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
56552         * lib/regex_internal.c: Ditto, using this...
56553         (__GNUC_PREREQ): ...new macro.
56554         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
56555         using...
56556         (__GNUC_PREREQ): ...this new macro.
56557
56558         * lib/strstr.h: Include string.h. Define strstr as a macro here.
56559
56560 2005-09-15  Derek Price  <derek@ximbiot.com>
56561             Paul Eggert  <eggert@cs.ucla.edu>
56562
56563         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
56564         changes, consolidating in...
56565         * lib/regex_internal.h: ...this file.
56566
56567 2005-09-13  Jim Meyering  <jim@meyering.net>
56568
56569         * lib/canon-host.c: Filter through gnu indent and reword comments
56570         slightly.
56571         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
56572
56573 2005-09-13  Derek Price  <derek@ximbiot.com>
56574
56575         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
56576         failure.
56577         Reported by Jim Meyering  <jim@meyering.net>.
56578
56579 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
56580
56581         * lib/base64.c: Typo.
56582         (base64_encode): Put b64str in initialized data section.
56583
56584 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
56585
56586         Merge glibc and coreutils changes into gnulib, plus a few
56587         extra fixes.
56588         * lib/md5.c: Use #error rather than a string.
56589         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
56590         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
56591         (__attribute__): Define to empty for non recent-GCC.
56592         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
56593         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
56594         Renamed from their non-__ counterparts, with new macros replacing
56595         them if not _LIBC.  Add __THROW attribute.
56596         (rol): Remove.
56597         (struct md5_ctx): Align buffer if using GCC.
56598         * lib/sha1.h (struct sha1_ctx): Likewise.
56599         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
56600         The old name was backwards.
56601         (NOTSWAP): Remove; not used.
56602         (rol): New macro, moved here from md5.h.
56603         (sha1_process_block): Remove a FIXME that doesn't make sense.
56604
56605 2005-09-12  Derek Price  <derek@ximbiot.com>
56606
56607         Return usable errors from canon-host.
56608         * lib/canon-host.h: New file.
56609         * lib/canon-host.c (canon_host): Wrap...
56610         (canon_host_r): ...this new function, which now relies exclusively on
56611         getaddrinfo.
56612         (ch_strerror): New function.
56613         (last_cherror): New global.
56614         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
56615         interface.
56616         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
56617         void *.
56618         (freeaddrinfo): Free ai->ai_canonname when set.
56619
56620 2005-09-12  Derek Price  <derek@ximbiot.com>
56621
56622         Make canon-host require getaddrinfo.
56623         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
56624         AC_LIBSOURCE canon-host.h.  Call...
56625         (gl_PREREQ_CANON_HOST): ...this new function, which requires
56626         gl_GETADDRINFO.
56627         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
56628
56629 2005-09-12  Derek Price  <derek@ximbiot.com>
56630
56631         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
56632         LGPL.
56633         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
56634
56635 2005-09-12  Derek Price  <derek@ximbiot.com>
56636
56637         * lib/gai_strerror.c: Include config.h when available.  Include
56638         getaddrinfo.h before other headers to test interface.
56639         Reported by Larry Jones <lawrence.jones@ugs.com>.
56640
56641 2005-09-12  Derek Price  <derek@ximbiot.com>
56642             Paul Eggert  <eggert@cs.ucla.edu>
56643
56644         * modules/glob (Files): Add glob-libc.h.
56645
56646 2005-09-12  Derek Price  <derek@ximbiot.com>
56647             Paul Eggert  <eggert@cs.ucla.edu>
56648
56649         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
56650         glob_.h, glob-libc.h.
56651         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
56652
56653 2005-09-12  Derek Price  <derek@ximbiot.com>
56654             Paul Eggert  <eggert@cs.ucla.edu>
56655
56656         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
56657         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
56658         protecting things that should be done only in gnulib contexts.
56659         * lib/glob_.h: New file, containing only the glob things needed for
56660         gnulib.
56661         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
56662         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
56663         (glob, globfree, glob_pattern_p): Now defined simply in terms of
56664         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
56665         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
56666         and to respect the namespace rules better.
56667
56668 2005-09-08  Simon Josefsson  <jas@extundo.com>
56669
56670         * modules/socklen: New file.
56671
56672 2005-09-08  Simon Josefsson  <jas@extundo.com>
56673
56674         * m4/socklen.m4: New file.
56675
56676 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
56677
56678         * modules/utimens (Files): Add m4/utimbuf.m4, since
56679         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
56680         Reported by Sergey Poznyakoff.
56681
56682 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
56683
56684         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
56685         definitions, since that's the preferred style in glibc.
56686         Fix a minor spacing issue, and update copyright notice to match
56687         glibc's.
56688
56689 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
56690
56691         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
56692
56693 2005-09-06  Simon Josefsson  <jas@extundo.com>
56694
56695         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
56696         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
56697
56698 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
56699
56700         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
56701         warning.
56702
56703 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
56704
56705         * config/srclist.txt: Add glibc bug 1302.
56706
56707 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
56708
56709         Change bitset word type from unsigned int to unsigned long int,
56710         as this has better performance on typical 64-bit hosts.
56711         Port bitset code to hosts with unusual word sizes.
56712         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
56713         (build_collating_symbol):
56714         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
56715         argument is a bitset.  This is merely a style issue, but it makes
56716         it clearer that an entire array is expected.
56717         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
56718         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
56719         Port to the case where bitset_word is not the same as unsigned int.
56720         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
56721         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
56722         Likewise.
56723         * lib/regexec.c (check_dst_limits_calc_pos_1,
56724         check_subexp_matching_top):
56725         (build_trtable, group_nodes_into_DFAstates):
56726         Likewise.
56727         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
56728         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
56729         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
56730         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
56731         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
56732         * lib/regcomp.c (optimize_subexps, lower_subexp):
56733         Work even if bitset_word has holes in its bitwise representation.
56734         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
56735         * lib/regexec.c (check_dst_limits_calc_pos_1,
56736         check_subexp_matching_top):
56737         Likewise.
56738         * lib/regex_internal.c (re_string_reconstruct):
56739         Don't assume UCHAR_MAX == 255.
56740         * lib/regex_internal.h (bitset_set_all): Likewise.
56741         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
56742         All uses changed.
56743         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
56744         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
56745         All uses changed.
56746         (BITSET_WORD_MAX): New macro.
56747         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
56748         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
56749         (bitset_empty, bitset_copy):
56750         Prefer sizeof (bitset) to multiplying it out ourselves.
56751         (bitset_not_merge): Remove; unused.
56752         (bitset_contain): Return bool, not unsigned int with one bit on.
56753         All callers changed.
56754         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
56755         alignment than re_node_set; do this by defining a new internal
56756         type struct dests_alloc and using it to allocate memory.
56757
56758 2005-09-05  Bruno Haible  <bruno@clisp.org>
56759
56760         * gnulib-tool (func_import): Fix comparison in handling of symbolic
56761         links.
56762
56763 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
56764
56765         * modules/size_max (Makefile.am): Add size_max.h
56766
56767 2005-09-04  Derek Price  <derek@ximbiot.com>
56768
56769         * gnulib-tool (func_import): Fix reversed $symbolic logic.
56770
56771 2005-09-03  Simon Josefsson  <jas@extundo.com>
56772
56773         * gnulib-tool: Fix typo.
56774
56775 2005-09-03  Simon Josefsson  <jas@extundo.com>
56776
56777         * config/srclist.txt: Add glibc bug 1293.
56778
56779 2005-09-03  Derek Price  <derek@ximbiot.com>
56780
56781         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
56782         From Larry Jones <lawrence.jones@ugs.com>.
56783
56784 2005-09-02  Simon Josefsson  <jas@extundo.com>
56785
56786         * modules/socklen: New file.
56787
56788 2005-09-02  Simon Josefsson  <jas@extundo.com>
56789
56790         * modules/havelib: New module.
56791
56792         * modules/gettext, modules/iconv, modules/lock, modules/readline:
56793         Use havelib.
56794
56795 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
56796
56797         Check for arithmetic overflow when calculating sizes, to prevent
56798         some buffer-overflow issues.  These patches are conservative, in the
56799         sense that when I couldn't determine whether an overflow was possible,
56800         I inserted a run-time check.
56801         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
56802         macros.
56803         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
56804         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
56805         (re_xnrealloc, re_x2nrealloc): New inline functions.
56806         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
56807         parse_bracket_exp):
56808         (build_equiv_class, build_charclass): Check for arithmetic overflow
56809         in size expression calculations.
56810         * lib/regex_internal.c (re_string_realloc_buffers):
56811         (build_wcs_upper_buffer, re_node_set_add_intersect):
56812         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
56813         (re_dfa_add_node, register_state): Likewise.
56814         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
56815         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
56816         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
56817         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
56818
56819 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
56820
56821         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
56822         m4/ulonglong.m4.  Problem reported by Martin Lambers.
56823
56824 2005-09-02  Bruno Haible  <bruno@clisp.org>
56825
56826         Support for lib vs. lib64 distinction on biarch platforms.
56827         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
56828         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
56829         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
56830
56831 2005-09-02  Bruno Haible  <bruno@clisp.org>
56832
56833         * gnulib-tool (import): In the other first-use case, provide defaults
56834         as well.
56835
56836 2005-09-02  Bruno Haible  <bruno@clisp.org>
56837
56838         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
56839         patches not yet found in the latest gettext release.
56840
56841 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
56842
56843         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
56844         to avoid a collision with bits/local_lim.h in glibc.
56845         All uses changed.  Problem reported by Dmitry V. Levin in
56846         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
56847
56848         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
56849         bugs in int versus size_t comparisons.
56850         (re_string_context_at): Fix bug where the code assumed that
56851         Idx is signed.
56852
56853         Use bool where appropriate.
56854         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
56855         All callers changed.
56856         (calc_eclosure_iter): Likewise, for ROOT arg.
56857         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
56858         (build_charclass_op): Likewise, for NON_MATCH arg.
56859         * lib/regex_internal.c (re_string_allocate, re_string_construct):
56860         (re_string_construct_common): Likewise, for ICASE arg.
56861         * lib/regexec.c (re_search_2_stub, re_search_stub):
56862         Likewise, for RET_LEN arg.
56863         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
56864         (set_regs): Likewise, for FL_BACKTRACK arg.
56865         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
56866         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
56867         (calc_eclosure_iter, parse_bracket_exp):
56868         Use bool for internal variables that are booleans.
56869         * lib/regexec.c (re_search_internal, check_matching,
56870         proceed_next_node):
56871         (set_regs, build_sifted_states, sift_states_bkref):
56872         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
56873         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
56874         (find_collation_sequence_value):
56875         Likewise.
56876         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
56877         (re_node_set_compare):
56878         Return bool, not int. All callers changed.
56879         * lib/regexec.c (check_halt_node_context, check_dst_limits):
56880         (build_trtable, check_node_accept): Likewise.
56881         * lib/regex_internal.h: Include stdbool.h.
56882
56883         Fix bugs uncovered when converting to bool.
56884         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
56885         failure instead of charging ahead blindly.
56886         * lib/regex_internal.c (register_state): Likewise.
56887         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
56888         for freeing internal storage.
56889         (group_nodes_into_DFA_states): Use unsigned int, not int, for
56890         bitset pieces used as boolean, to avoid undefined behavior
56891         on hosts that do int overflow checking.
56892
56893 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
56894
56895         * config/srclist.txt: Add glibc bugs 1285-1287.
56896
56897 2005-09-01  Jim Meyering  <jim@meyering.net>
56898
56899         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
56900         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
56901         Require gl_STAT_MACROS, too.
56902
56903 2005-09-01  Bruno Haible  <bruno@clisp.org>
56904
56905         * gnulib-tool (import): In the first-use case, provide defaults.
56906
56907 2005-09-01  Bruno Haible  <bruno@clisp.org>
56908
56909         * gnulib-tool (func_import): Remove the .tmp files.
56910
56911 2005-09-01  Bruno Haible  <bruno@clisp.org>
56912
56913         * gnulib-tool (func_import): Fix handling of symbolic links.
56914
56915 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
56916
56917         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
56918         old glibc regex code mishandles strings longer than 2**31 bytes.
56919         This patch fixes this when the regex code is used in gnulib
56920         (i.e., outside glibc).
56921
56922         This patch should not affect the use of the regex code inside
56923         glibc.  No doubt this problem also needs to be handled for glibc
56924         as well, but the result will be an incompatible change to the
56925         glibc ABI, and the old ABI will have to be supported too.  That
56926         can be the the subject for another patch.
56927
56928         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
56929         governing whether the rest of this patch is active.  By default,
56930         the macro is disabled and the patch has no effect.
56931         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
56932         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
56933         (struct re_pattern_buffer, re_search, re_search_2, re_match):
56934         (re_match_2, re_set_registers): Use the new types.
56935         * lib/regex_internal.h (Idx, re_hashval_t): New types.
56936         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
56937         New macros.
56938         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
56939         (re_string_context_at, bin_tree_t, re_dfastate_t):
56940         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
56941         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
56942         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
56943         (re_string_char_size_at, re_string_wchar_at):
56944         (re_string_elem_size_at):
56945         Use the new types and macros to port to 64-bit hosts.
56946         Use unsigned types for internal values, so that the code
56947         mostly works even for arrays larger than SSIZE_MAX.
56948         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
56949         (search_duplicated_node, calc_eclosure_iter, fetch_number):
56950         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
56951         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
56952         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
56953         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
56954         (calc_inveclosure, parse_dup_op, build_range_exp):
56955         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
56956         (fetch_number, create_token_tree, mark_opt_subexp):
56957         Likewise.
56958         * lib/regex_internal.c (re_string_construct_common,
56959         create_ci_newstate):
56960         (create_cd_newstate, re_string_allocate, re_string_construct):
56961         (re_string_realloc_buffers, build_wcs_upper_buffer):
56962         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
56963         (re_string_reconstruct, re_string_peek_byte_case):
56964         (re_string_fetch_byte_case, re_string_context_at):
56965         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
56966         (re_node_set_init_copy, re_node_set_add_intersect):
56967         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
56968         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
56969         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
56970         (re_acquire_state, re_acquire_state_context, register_state):
56971         Likewise.
56972         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
56973         search_cur_bkref_entry):
56974         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
56975         (re_search_internal, re_search_2_stub, re_search_stub)
56976         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
56977         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
56978         (update_cur_sifted_state, check_dst_limits):
56979         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
56980         (check_subexp_limits, sift_states_bkref, merge_state_array):
56981         (check_subexp_matching_top, get_subexp, get_subexp_sub):
56982         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
56983         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
56984         (expand_bkref_cache, check_node_accept_bytes):
56985         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
56986         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
56987         (acquire_init_state_context, check_halt_node_context):
56988         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
56989         (sift_states_backward, clean_state_log_if_needed):
56990         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
56991         (find_recover_state, transit_state_sb, transit_state_mb):
56992         (transit_state_bkref, build_trtable, match_ctx_clean):
56993         Likewise.
56994         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
56995         to work around an assumption that REG_MISSING is negative.
56996
56997         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
56998         (seek_collating_symbol_entry) [defined _LIBC]:
56999         (lookup_collation_sequence_value) [defined _LIBC]:
57000         (build_range_exp, build_collating_symbol) [defined _LIBC]:
57001         Use prototypes rather than old-style function definitions.
57002         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
57003         (transit_state_sb) [0]:
57004         (find_collation_sequence_value) [defined _LIBC]: Likewise.
57005
57006         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
57007         rm_eo.
57008
57009         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
57010         (optimize_subexps, lower_subexp):
57011         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
57012         since the signed shift might overflow.  Use 1u<<31 instead.
57013         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
57014         Likewise.
57015         * lib/regexec.c (check_dst_limits_calc_pos_1,
57016         check_subexp_matching_top): Likewise.
57017
57018         * lib/regcomp.c (optimize_subexps, lower_subexp):
57019         Use CHAR_BIT rather than 8, for clarity.
57020         * lib/regexec.c (check_dst_limits_calc_pos_1):
57021         (check_subexp_matching_top): Likewise.
57022         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
57023         have to worry about portability issues when shifting it left.
57024         Remove no-longer-needed test for table_size > 0.
57025         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
57026         in a word, as the resulting behavior is undefined.
57027         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
57028         in one case, a <= should have been an <, and in another case the
57029         whole test was missing.
57030         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
57031         the standard name CHAR_BIT.
57032         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
57033         this is not true on one's complement and signed-magnitude hosts.
57034
57035         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
57036         next_last_offset.
57037         (struct re_dfa_t): Remove unused member states_alloc.
57038         * lib/regcomp.c (init_dfa): Don't initialize unused members.
57039
57040 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
57041
57042         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
57043         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
57044         and large-file glibc and in 32-bit large-file Solaris.
57045
57046 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
57047
57048         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
57049         lengths fit in regoff_t; this isn't true if regoff_t is the same
57050         width as size_t.
57051         * lib/regex.c (re_search_internal): 5th arg is LAST_START
57052         (= START + RANGE) instead of RANGE.  This avoids overflow
57053         problems when regoff_t is the same width as size_t.
57054         All callers changed.
57055         (re_search_2_stub): Check for overflow when adding the
57056         sizes of the two strings.
57057         (re_search_stub): Check for overflow when adding START
57058         to RANGE; if it occurs, substitute the extreme value.
57059
57060 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
57061
57062         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
57063
57064 2005-08-31  Jim Meyering  <jim@meyering.net>
57065
57066         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
57067         a pointer-to-const.
57068         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
57069         (register_state): Likewise.
57070         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
57071         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
57072         (group_nodes_into_DFAstates): Likewise.
57073
57074 2005-08-31  Jim Meyering  <jim@meyering.net>
57075
57076         * check-module: Add a FIXME comment.
57077
57078 2005-08-31  Eric Blake  <ebb9@byu.net>
57079
57080         * modules/unistd-safer (Files): Add unistd--.h.
57081         * modules/stdio-safer (Files): Add stdio--.h.
57082
57083 2005-08-31  Derek Price  <derek@ximbiot.com>
57084
57085         * lib/getdelim.c (getdelim): Return EOF on EOF.
57086         Reported by Larry Jones <lawrence.jones@ugs.com>.
57087
57088 2005-08-31  Bruno Haible  <bruno@clisp.org>
57089
57090         Avoid unnecessary diffs in the generated lib/Makefile.am.
57091         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
57092         the generated files.
57093         (func_import): Don't set cmd.
57094
57095 2005-08-31  Bruno Haible  <bruno@clisp.org>
57096
57097         * lib/strstr.c: Include <stddef.h>, for NULL.
57098         * lib/strcasestr.c: Likewise.
57099         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
57100
57101 2005-08-31  Bruno Haible  <bruno@clisp.org>
57102
57103         * gnulib-tool: New option --macro-prefix.
57104         (func_import): Use macro_prefix.
57105         (import): Handle option --macro-prefix.
57106
57107 2005-08-31  Bruno Haible  <bruno@clisp.org>
57108
57109         * gnulib-tool (import): Rename most ac_* variables to cached_*.
57110         Also use new variables cached_lgpl, cached_libtool.
57111
57112 2005-08-31  Bruno Haible  <bruno@clisp.org>
57113
57114         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
57115         always instantiating them.
57116
57117 2005-08-31  Bruno Haible  <bruno@clisp.org>
57118
57119         * gnulib-tool (func_import): Read the previous cached settings
57120         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
57121         earlier added by gnulib but are now dropped. Warn when a gnulib file
57122         overwrites a non-gnulib file.
57123
57124 2005-08-31  Bruno Haible  <bruno@clisp.org>
57125
57126         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
57127         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
57128         projects that don't keep autogenerated files in CVS. Put into
57129         actioncmd only the specified modules, not the transitive closure.
57130
57131 2005-08-31  Bruno Haible  <bruno@clisp.org>
57132
57133         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
57134         Create directories that shall be filled.
57135         (import): Don't look for gl_* macros in configure.ac. Recurse across
57136         all directories containing a gnulib-cache.m4 files, if meaningful.
57137
57138 2005-08-31  Bruno Haible  <bruno@clisp.org>
57139
57140         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
57141         (import): Set seen_libtool when we see gl_LIBTOOL.
57142
57143 2005-08-31  Bruno Haible  <bruno@clisp.org>
57144
57145         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
57146         declaration macro definitions from generated gnulib.m4.
57147
57148 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
57149
57150         * lib/iconvme.h: Add prototype for iconv_alloc.
57151
57152 2005-08-29  Simon Josefsson  <jas@extundo.com>
57153
57154         * lib/iconvme.c: Fix errno.
57155
57156 2005-08-29  Bruno Haible  <bruno@clisp.org>
57157
57158         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
57159         that it works when the directory contains spaces.
57160
57161 2005-08-29  Bruno Haible  <bruno@clisp.org>
57162
57163         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
57164
57165 2005-08-29  Bruno Haible  <bruno@clisp.org>
57166
57167         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
57168         Emit more advice.
57169
57170 2005-08-29  Bruno Haible  <bruno@clisp.org>
57171         and Stepan Kasal  <kasal@ucw.cz>
57172
57173         * check-module: If more parameters are given, check each of them
57174         separately; add more exceptions, as noted by Jim Meyering.
57175         (check_module): New procedure.
57176         (%exempt_header): Now contains all exceptions.
57177
57178 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
57179
57180         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
57181
57182 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
57183
57184         * lib/iconvme.c: Split iconv_string into iconv_alloc.
57185
57186 2005-08-28  Bruno Haible  <bruno@clisp.org>
57187
57188         * m4/gnulib-tool.m4: New file.
57189
57190 2005-08-27  Jim Meyering  <jim@meyering.net>
57191
57192         * modules/unistd-safer (Files): Add pipe-safer.c.
57193         * modules/fcntl-safer (Files): Add creat-safer.c.
57194
57195 2005-08-27  Jim Meyering  <jim@meyering.net>
57196
57197         * m4/stdlib-safer.m4: New file.  From coreutils.
57198         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
57199         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
57200         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
57201         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
57202         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
57203
57204 2005-08-27  Jim Meyering  <jim@meyering.net>
57205
57206         * lib/fopen-safer.c: Merge minor changes from coreutils.
57207         * lib/dup-safer.c: Likewise.
57208         * lib/fd-safer.c: Likewise.
57209
57210         Merge from coreutils.
57211         * lib/stdio--.h: New file.
57212         * lib/stdlib--.h: New file.
57213         * lib/mkstemp-safer.c: New file.
57214
57215         GNU tar needs these.
57216         * lib/pipe-safer.c: New file.
57217         * lib/creat-safer.c: New file.
57218         * lib/fcntl--.h (creat): Define to creat_safer.
57219         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
57220         * lib/unistd--.h (pipe): Define to pipe_safer.
57221         * lib/unistd-safer.h: Declare pipe_safer.
57222
57223 2005-08-26  Simon Josefsson  <jas@extundo.com>
57224
57225         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
57226         Haible <bruno@clisp.org>.
57227
57228 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
57229
57230         * lib/regex_internal.h: Remove all references to
57231         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
57232         or better.
57233         (bitset_not, bitset_merge, bitset_not_merge):
57234         (bitset_mask, re_string_allocate, re_string_construct):
57235         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
57236         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
57237         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
57238         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
57239         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
57240         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
57241         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
57242         (re_acquire_state_context):
57243         Remove unnecessary forward decls.
57244         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
57245         Put __attribute at function definition,
57246         now that the function decl has been removed.
57247         * lib/regex_internal.c (re_string_peek_byte_case):
57248         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
57249         Likewise.
57250
57251 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
57252
57253         * m4/regex.m4: Add AC_PREREQ(2.50).
57254         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
57255
57256 2005-08-25  Simon Josefsson  <jas@extundo.com>
57257
57258         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
57259         __fsetlocking.
57260
57261 2005-08-25  Simon Josefsson  <jas@extundo.com>
57262
57263         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
57264         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
57265         GLIBC specific code.
57266
57267 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
57268
57269         Make regex safe for g++.  This fixes one real bug (an "err"
57270         that should have been "*err").  g++ problem reported by
57271         Sam Steingold.
57272         * lib/regex_internal.h (re_calloc): New macro, consistent with
57273         re_malloc etc.  All callers of calloc changed to use re_calloc.
57274         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
57275         not int.  All callers changed.
57276         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
57277         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
57278         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
57279         (find_recover_state): Change "err" to "*err"; this fixes what
57280         appears to be a real bug.
57281         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
57282         versus int.
57283
57284 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
57285
57286         * modules/regex (Depends-on): Add malloc, since the code
57287         assumes that !malloc(0) means failure.
57288
57289 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
57290
57291         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
57292
57293         alloca modernization/simplification for regex.
57294         * lib/regex.c: Remove portability cruft for alloca.  This no longer
57295         needs to be at the start of the file, and can be moved into
57296         regex_internal.h and simplified.
57297         * lib/regex_internal.h: Include <alloca.h>.
57298         (__libc_use_alloca) [!defined _LIBC]: New macro.
57299         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
57300         now works outside glibc.
57301
57302 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
57303
57304         * config/srclist.txt: Add glibc bugs 1241, 1245.
57305
57306 2005-08-25  Jim Meyering  <jim@meyering.net>
57307
57308         * lib/open-safer.c: Include <config.h>.
57309         Otherwise, we'd lose LARGEFILE support in any file using
57310         e.g. "fcntl--.h"
57311
57312 2005-08-25  Bruno Haible  <bruno@clisp.org>
57313
57314         * m4/minmax.m4: Require autoconf 2.52.
57315         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
57316         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
57317         alternatives of translit over the alphabet.
57318         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
57319
57320 2005-08-24  Simon Josefsson  <jas@extundo.com>
57321
57322         * tests/test-getpass.c: New file.
57323
57324 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
57325
57326         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
57327         for GNU regex features.
57328
57329 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
57330
57331         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
57332         * lib/regex.h (regerror): Likewise.
57333
57334         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
57335         requires this.  (The code never needed it.)
57336
57337         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
57338         All uses of recently-renamed identifiers changed to use the new,
57339         POSIX-compliant names.  The code will build and run just fine
57340         without these changes, but it's better to eat our own dog food
57341         and use the standard-conforming names.
57342
57343         * lib/regex.h: Fix a multitude of POSIX name space violations.
57344         These changes have an effect only for programs that define
57345         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
57346         do not change anything for programs compiled in the normal way.
57347         Also, there is no effect on the ABI.
57348
57349         (_REGEX_SOURCE): New macro.
57350         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
57351         defined and _GNU_SOURCE is not; this fixes a name space violation.
57352
57353         Rename the following macros to obey POSIX requirements.
57354         The old names are still visible as macros if _REGEX_SOURCE is defined.
57355         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
57356         RE_BACKSLASH_ESCAPE_IN_LISTS.
57357         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
57358         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
57359         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
57360         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
57361         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
57362         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
57363         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
57364         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
57365         (REG_INTERVALS): renamed from RE_INTERVALS.
57366         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
57367         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
57368         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
57369         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
57370         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
57371         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
57372         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
57373         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
57374         RE_UNMATCHED_RIGHT_PAREN_ORD.
57375         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
57376         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
57377         (REG_DEBUG): renamed from RE_DEBUG.
57378         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
57379         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
57380         unusual, since we can't clash with the POSIX REG_ICASE.
57381         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
57382         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
57383         (REG_NO_SUB): renamed from RE_NO_SUB.
57384         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
57385         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
57386         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
57387         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
57388         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
57389         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
57390         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
57391         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
57392         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
57393         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
57394         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
57395         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
57396         RE_SYNTAX_POSIX_MINIMAL_BASIC.
57397         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
57398         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
57399         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
57400         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
57401         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
57402         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
57403         (REG_FIXED): Renamed from REGS_FIXED.
57404         (REG_NREGS): Renamed from RE_NREGS.
57405
57406         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
57407         of other REG_* macros, since POSIX says the user is allowed to
57408         #undef these macros selectively.
57409
57410         (reg_errcode_t): Update comment stating what other tables need
57411         to be consistent.
57412
57413         Rename the following enum values to obey POSIX requirements.
57414         The old names are still visible as macros.
57415         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
57416         is not defined, since GNU is supposed to be a superset of POSIX as
57417         much as possible, and since we want reg_errcode_t to be a signed
57418         type for implementation consistency.
57419         (_REG_NOERROR): Renamed from REG_NOERROR.
57420         (_REG_NOMATCH): Renamed from REG_NOMATCH.
57421         (_REG_BADPAT): Renamed from REG_BADPAT.
57422         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
57423         (_REG_ECTYPE): Renamed from REG_ECTYPE.
57424         (_REG_EESCAPE): Renamed from REG_EESCAPE.
57425         (_REG_ESUBREG): Renamed from REG_ESUBREG.
57426         (_REG_EBRACK): Renamed from REG_EBRACK.
57427         (_REG_EPAREN): Renamed from REG_EPAREN.
57428         (_REG_EBRACE): Renamed from REG_EBRACE.
57429         (_REG_BADBR): Renamed from REG_BADBR.
57430         (_REG_ERANGE): Renamed from REG_ERANGE.
57431         (_REG_ESPACE): Renamed from REG_ESPACE.
57432         (_REG_BADRPT): Renamed from REG_BADRPT.
57433         (_REG_EEND): Renamed from REG_EEND.
57434         (_REG_ESIZE): Renamed from REG_ESIZE.
57435         (_REG_ERPAREN): Renamed from REG_ERPAREN.
57436         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
57437         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
57438         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
57439         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
57440
57441         (_REG_RE_NAME, _REG_RM_NAME): New macros.
57442         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
57443         changed.  But support the old name if the new one is not defined
57444         and if _REGEX_SOURCE.
57445
57446         Change the following member names in struct re_pattern_buffer.
57447         The old names are still supported if !_REGEX_SOURCE.
57448         The new names are always supported, regardless of _REGEX_SOURCE.
57449         (re_buffer): Renamed from buffer.
57450         (re_allocated): Renamed from allocated.
57451         (re_used): Renamed from used.
57452         (re_syntax): Renamed from syntax.
57453         (re_fastmap): Renamed from fastmap.
57454         (re_translate): Renamed from translate.
57455         (re_can_be_null): Renamed from can_be_null.
57456         (re_regs_allocated): Renamed from regs_allocated.
57457         (re_fastmap_accurate): Renamed from fastmap_accurate.
57458         (re_no_sub): Renamed from no_sub.
57459         (re_not_bol): Renamed from not_bol.
57460         (re_not_eol): Renamed from not_eol.
57461         (re_newline_anchor): Renamed from newline_anchor.
57462
57463         Change the following member names in struct re_registers.
57464         The old names are still supported if !_REGEX_SOURCE.
57465         The new names are always supported, regardless of _REGEX_SOURCE.
57466         (rm_num_regs): Renamed from num_regs.
57467         (rm_start): Renamed from start.
57468         (rm_end): Renamed from end.
57469
57470         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
57471         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
57472         Prepend __ to parameter names.
57473
57474         Undo yesterday's changes.
57475
57476 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
57477
57478         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
57479         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
57480         lib/regex.c.
57481
57482 2005-08-24  Jim Meyering  <jim@meyering.net>
57483
57484         Sync from coreutils.
57485         * m4/fcntl-safer.m4: New file.
57486
57487         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
57488         and object files for this module.
57489
57490 2005-08-24  Jim Meyering  <jim@meyering.net>
57491
57492         Sync from coreutils.
57493         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
57494
57495 2005-08-24  Jim Meyering  <jim@meyering.net>
57496
57497         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
57498         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
57499
57500 2005-08-24  Jim Meyering  <jim@meyering.net>
57501
57502         * modules/fcntl-safer: New module.
57503         * modules/fts (Depends-on): Add fcntl-safer.
57504         * MODULES.html.sh (File descriptor based Input/Output):
57505         Add fcntl-safer.
57506
57507 2005-08-24  Bruno Haible  <bruno@clisp.org>
57508
57509         Support for unit test modules.
57510         * modules/README: Mention tests modules.
57511         * modules/TEMPLATE-TESTS: New file.
57512         * gnulib-tool: New options --extract-tests-module, --with-tests and
57513         --tests-base (unused for the moment).
57514         (testsbase, inctests): New variables.
57515         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
57516         (func_verify_module): Exclude TEMPLATE-TESTS.
57517         (func_verify_nontests_module, func_verify_tests_module): New functions.
57518         (func_get_dependencies): Add implicit dependency for tests modules.
57519         (func_get_tests_module): New function.
57520         (func_modules_transitive_closure): When --with-tests was specified,
57521         include the unit tests as well, unless explicitly avoided.
57522         (func_emit_lib_Makefile_am): Ignore the tests modules here.
57523         (func_emit_tests_Makefile_am): New function.
57524         (func_create_testdir): When --with-tests was specified, emit a
57525         tests/ directory.
57526         * MODULES.html.sh (Future developments): Update.
57527
57528 2005-08-24  Bruno Haible  <bruno@clisp.org>
57529
57530         * modules/tls-tests: New file.
57531         * tests/test-tls.c: New file, from GNU gettext.
57532
57533 2005-08-24  Bruno Haible  <bruno@clisp.org>
57534
57535         * modules/lock-tests: New file.
57536         * tests/test-lock.c: New file, from GNU gettext.
57537
57538 2005-08-24  Bruno Haible  <bruno@clisp.org>
57539
57540         * lib/lock.h: Add multiple inclusion guard.
57541         * lib/tls.h: Add multiple inclusion guard.
57542
57543 2005-08-24  Bruno Haible  <bruno@clisp.org>
57544
57545         * gnulib-tool: Add support for the --aux-dir option to
57546         --create-testdir, --create-megatestdir, --test, --megatest.
57547         (func_create_testdir, func_create_megatestdir): Optionally emit a
57548         AC_CONFIG_AUX_DIR directive.
57549         (create-testdir, create-megatestdir, test, megatest): Provide a
57550         default value for $auxdir.
57551
57552 2005-08-24  Bruno Haible  <bruno@clisp.org>
57553
57554         * gnulib-tool (import): Use compound statement instead of subshell
57555         where possible.
57556
57557 2005-08-24  Bruno Haible  <bruno@clisp.org>
57558
57559         * gnulib-tool (import): Change --aux-dir default to "build-aux".
57560
57561 2005-08-24  Bruno Haible  <bruno@clisp.org>
57562
57563         * gnulib-tool (func_version): Update.
57564
57565 2005-08-24  Bruno Haible  <bruno@clisp.org>
57566
57567         * gnulib-tool (func_import, func_create_testdir,
57568         func_create_megatestdir): Quote all autoconf macro arguments.
57569
57570 2005-08-24  Bruno Haible  <bruno@clisp.org>
57571
57572         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
57573         option --force, because --force causes the aclocal.m4 of each
57574         subdirectory to be newer than the corresponding config.h.in.
57575
57576 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
57577
57578         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
57579         All contents moved to gl_REGEX.
57580         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
57581         assume that it does.
57582
57583 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
57584
57585         * lib/regex.h (REG_NOSYS)
57586         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
57587         Define, since POSIX requires it as of 2001.
57588         (_REG_ENOSYS)
57589         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
57590         New private symbol, used to keep the enum signed in all cases.
57591         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
57592         Youngman in
57593         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
57594
57595         * lib/regex_internal.c (re_string_skip_chars, register_state):
57596         (calc_state_hash):
57597         Remove forward decls; no longer needed now that we use prototypes.
57598         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
57599         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
57600         (clean_state_log_if_needed): Likewise.
57601
57602 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
57603
57604         * config/srclist.txt: Add glibc bugs 1231-1233.
57605
57606 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
57607
57608         Fix problems reported by Sam Steingold in
57609         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
57610         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
57611         assumed that reg_errcode_t is a signed type, which is not
57612         necessarily true if _XOPEN_SOURCE is not defined.
57613         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
57614         since some compilers warn about it otherwise.
57615
57616 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
57617
57618         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
57619         (init_word_char, create_initial_state, duplicate_node_closure):
57620         (fetch_token, peek_token_bracket, build_range_exp):
57621         (build_collating_symbol): Remove forward decls; no longer needed
57622         now that we use prototypes.
57623
57624         * lib/regcomp.c:
57625         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
57626         (re_compile_fastmap_iter, regcomp, regerror, regfree):
57627         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
57628         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
57629         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
57630         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
57631         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
57632         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
57633         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
57634         (build_range_exp, build_collating_symbol, parse_bracket_exp):
57635         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
57636         (build_charclass, build_charclass_op, fetch_number, create_tree):
57637         (create_token_tree, mark_opt_subexp, duplicate_tree):
57638         Use prototypes rather than old-style definitions.
57639
57640         * lib/regex_internal.c:
57641         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
57642         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
57643         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
57644         (re_string_reconstruct, re_string_peek_byte_case):
57645         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
57646         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
57647         (re_node_set_init_copy, re_node_set_add_intersect):
57648         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
57649         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
57650         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
57651         (re_acquire_state, re_acquire_state_context, register_state):
57652         (create_ci_newstate, create_cd_newstate, free_state):
57653         Likewise.
57654         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
57655         re_search_2):
57656         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
57657         (re_search_internal, prune_impossible_nodes):
57658         (acquire_init_state_context, check_matching, static):
57659         (check_halt_node_context, check_halt_state_context, proceed_next_node):
57660         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
57661         (update_regs, sift_states_backward, build_sifted_states):
57662         (clean_state_log_if_needed, merge_state_array):
57663         (update_cur_sifted_state, add_epsilon_src_nodes):
57664         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
57665         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
57666         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
57667         (find_recover_state, check_subexp_matching_top, transit_state_mb):
57668         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
57669         (check_arrival, check_arrival_add_next_nodes):
57670         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
57671         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
57672         (check_node_accept_bytes, check_node_accept, extend_buffers):
57673         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
57674         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
57675         (sift_ctx_init):
57676         Likewise.
57677
57678         * lib/regex_internal.h:
57679         (re_string_allocate, re_string_construct, re_string_reconstruct):
57680         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
57681         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
57682         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
57683         (re_string_context_at, re_string_peek_byte_case):
57684         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
57685         is defined, since we now use prototypes always.
57686
57687         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
57688         C89 or better.  All uses removed.
57689
57690 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
57691
57692         * config/srclist.txt: Add glibc bugs 1220-1227.
57693
57694 2005-08-20  Jim Meyering  <jim@meyering.net>
57695
57696         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
57697         of unused local, dfa.
57698
57699 2005-08-20  Bruno Haible  <bruno@clisp.org>
57700
57701         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
57702
57703 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
57704
57705         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
57706         (re_node_set_insert_last, re_dfa_add_node):
57707         Rename local variables to avoid GCC shadowing warnings.
57708
57709 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
57710
57711         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
57712         [defined lint]: Suppress bogus uninitialized-variable warnings.
57713
57714         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
57715         and let the caller return REG_ESPACE if out of space.  This
57716         removes an uninitialied-variable warning with GCC 4.0.1, and also
57717         avoids taking the address of a local variable.  All callers
57718         changed.
57719
57720 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
57721
57722         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
57723         $LIBCSRC/posix/regexec.c.
57724         Add glibc bug 1217 for regcomp.c.
57725
57726 2005-08-19  Jim Meyering  <jim@meyering.net>
57727
57728         * lib/regexec.c (proceed_next_node): Redo local variables to
57729         avoid GCC shadowing warnings.
57730
57731 2005-08-18  Bruno Haible  <bruno@clisp.org>
57732
57733         * lib/strstr.c (strstr): Fix return value in multibyte case.
57734         * lib/strcasestr.c (strcasestr): Likewise.
57735
57736 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
57737
57738         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
57739
57740 2005-08-17  Jim Meyering  <jim@meyering.net>
57741
57742         Make the %s format (seconds since the epoch) work for a negative
57743         number and when used with a zero-padded field width, e.g. %015s.
57744
57745         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
57746         label so that it precedes the code to set `digits'.  Otherwise,
57747         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
57748         print `00-22'.  Now, it prints `-0022', as it should.
57749
57750 2005-08-17  Bruno Haible  <bruno@clisp.org>
57751
57752         * modules/strstr (Files): Add m4/mbrtowc.m4.
57753         (Depends-on): Add mbuiter.
57754
57755 2005-08-17  Bruno Haible  <bruno@clisp.org>
57756
57757         * modules/strcasestr: New file.
57758         * MODULES.html.sh (String handling, based on ANSI C 89): Add
57759         strcasestr.
57760
57761 2005-08-17  Bruno Haible  <bruno@clisp.org>
57762
57763         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
57764
57765 2005-08-17  Bruno Haible  <bruno@clisp.org>
57766
57767         * modules/mbuiter: New file.
57768         * MODULES.html.sh (Extended multibyte and wide character utilities):
57769         Add mbuiter.
57770
57771 2005-08-17  Bruno Haible  <bruno@clisp.org>
57772
57773         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
57774         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
57775
57776 2005-08-17  Bruno Haible  <bruno@clisp.org>
57777
57778         * m4/strcasestr.m4: New file.
57779
57780 2005-08-17  Bruno Haible  <bruno@clisp.org>
57781
57782         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
57783         * lib/strstr.c: Completely rewritten, with multibyte locale support.
57784
57785 2005-08-17  Bruno Haible  <bruno@clisp.org>
57786
57787         * lib/strcasestr.h: New file.
57788         * lib/strcasestr.c: New file.
57789
57790 2005-08-17  Bruno Haible  <bruno@clisp.org>
57791
57792         * lib/strcasecmp.c: Use mbuiter.h.
57793
57794 2005-08-17  Bruno Haible  <bruno@clisp.org>
57795
57796         * lib/mbuiter.h: New file.
57797
57798 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
57799
57800         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
57801         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
57802         and gl_GETOPT are both invoked via different paths (as happens
57803         with GNU tar CVS because it uses both argp and getopt), the former
57804         wins.
57805
57806 2005-08-16  Bruno Haible  <bruno@clisp.org>
57807
57808         * modules/tls: New file.
57809         * MODULES.html.sh (Multithreading): Add tls.
57810
57811 2005-08-16  Bruno Haible  <bruno@clisp.org>
57812
57813         * modules/strnlen1: New file.
57814         * MODULES.html.sh (String handling): Add strnlen1.
57815
57816 2005-08-16  Bruno Haible  <bruno@clisp.org>
57817
57818         * modules/strcase (Files): Add m4/mbrtowc.m4.
57819         (Depends-on): Add strnlen1, mbchar.
57820
57821 2005-08-16  Bruno Haible  <bruno@clisp.org>
57822
57823         * modules/mbiter: New file.
57824         * MODULES.html.sh (Extended multibyte and wide character utilities):
57825         Add mbiter.
57826
57827 2005-08-16  Bruno Haible  <bruno@clisp.org>
57828
57829         * modules/mbfile: New file.
57830         * MODULES.html.sh (Extended multibyte and wide character utilities):
57831         Add mbfile.
57832
57833 2005-08-16  Bruno Haible  <bruno@clisp.org>
57834
57835         * modules/mbchar: New file.
57836         * MODULES.html.sh (Extended multibyte and wide character utilities):
57837         New section.
57838
57839 2005-08-16  Bruno Haible  <bruno@clisp.org>
57840
57841         * m4/tls.m4: New file, from GNU gettext.
57842
57843 2005-08-16  Bruno Haible  <bruno@clisp.org>
57844
57845         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
57846         always.
57847         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
57848
57849 2005-08-16  Bruno Haible  <bruno@clisp.org>
57850
57851         * m4/mbiter.m4: New file.
57852
57853 2005-08-16  Bruno Haible  <bruno@clisp.org>
57854
57855         * m4/mbfile.m4: New file.
57856
57857 2005-08-16  Bruno Haible  <bruno@clisp.org>
57858
57859         * m4/mbchar.m4: New file.
57860
57861 2005-08-16  Bruno Haible  <bruno@clisp.org>
57862
57863         * lib/tls.h: New file, from GNU gettext.
57864         * lib/tls.c: New file, from GNU gettext.
57865
57866 2005-08-16  Bruno Haible  <bruno@clisp.org>
57867
57868         * lib/strnlen1.h: New file.
57869         * lib/strnlen1.c: New file.
57870
57871 2005-08-16  Bruno Haible  <bruno@clisp.org>
57872
57873         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
57874         (mbi_init): Update.
57875         (mbi_avail, mbi_advance): Let the iteration end before the terminating
57876         NUL byte, not after it.
57877
57878 2005-08-16  Bruno Haible  <bruno@clisp.org>
57879
57880         * lib/strcase.h (strcasecmp): Add note in comments.
57881         * lib/strncasecmp.c: Use code from strcasecmp.c.
57882         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
57883         (strcasecmp): Work correctly in multibyte locales.
57884
57885 2005-08-16  Bruno Haible  <bruno@clisp.org>
57886
57887         * lib/mbiter.h: New file.
57888
57889 2005-08-16  Bruno Haible  <bruno@clisp.org>
57890
57891         * lib/mbfile.h: New file.
57892
57893 2005-08-16  Bruno Haible  <bruno@clisp.org>
57894
57895         * lib/mbchar.h: New file.
57896         * lib/mbchar.c: New file.
57897
57898 2005-08-16  Bruno Haible  <bruno@clisp.org>
57899
57900         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
57901         the valid ones. Makes the comparison operations transitive:
57902         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
57903         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
57904
57905 2005-08-15  Simon Josefsson  <jas@extundo.com>
57906
57907         * modules/ssize_t (License): Change to 'unlimited'.
57908
57909         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
57910
57911 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
57912
57913         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
57914         Add comments for each pending glibc patch.
57915
57916 2005-08-15  Bruno Haible  <bruno@clisp.org>
57917
57918         * lib/regex.h (__restrict_arr): Don't define to __restrict if
57919         __cplusplus is defined.
57920
57921 2005-08-14  Jim Meyering  <jim@meyering.net>
57922
57923         Sync from coreutils.
57924
57925         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
57926         Use the hash-table-based cycle-detection code not just when
57927         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
57928         Reported by James Youngman in
57929         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
57930         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
57931         FTS_TIGHT_CYCLE_CHECK.
57932         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
57933         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
57934         once again.
57935         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
57936         * lib/fts.c (fd_safer): Remove decl.
57937         Include fcntl--.h rather than unistd-safer.h
57938         (fts_safe_changedir): Don't call fd_safer; no longer needed
57939         now that we include fcntl--.h.
57940
57941 2005-08-12  Simon Josefsson  <jas@extundo.com>
57942
57943         * modules/getndelim2: Use ssize_t module.
57944         * modules/getnline: Likewise.
57945         * modules/safe-read: Likewise.
57946         * modules/xreadlink: Likewise.
57947
57948         * modules/ssize_t: New file.
57949
57950 2005-08-12  Simon Josefsson  <jas@extundo.com>
57951
57952         * m4/readline.m4: Look for termcap, curses or ncurses if required.
57953
57954 2005-08-12  Simon Josefsson  <jas@extundo.com>
57955
57956         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
57957         ssize_t.
57958
57959 2005-08-12  Simon Josefsson  <jas@extundo.com>
57960
57961         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
57962         readline, getdelim and check_version.
57963         (Support for systems lacking ISO C 99: Sizes of integer types):
57964         Add size_max.
57965
57966 2005-08-12  Bruno Haible  <bruno@clisp.org>
57967
57968         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
57969
57970 2005-08-11  Simon Josefsson  <jas@extundo.com>
57971
57972         * modules/readline: New file.
57973
57974         * modules/strnlen (Files): Add strnlen.h.
57975
57976 2005-08-11  Simon Josefsson  <jas@extundo.com>
57977
57978         * m4/readline.m4: New file.
57979
57980 2005-08-11  Simon Josefsson  <jas@extundo.com>
57981
57982         * lib/readline.h, readline.c: New file.
57983
57984 2005-08-11  Simon Josefsson  <jas@extundo.com>
57985
57986         * doc/gnulib.texi (Initial import, Finishing touches): Mention
57987         gl_AVOID.
57988
57989 2005-08-11  Bruno Haible  <bruno@clisp.org>
57990
57991         * lib/strnlen.h (strnlen): Change parameter name to match comment.
57992
57993 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
57994
57995         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
57996
57997 2005-08-10  Simon Josefsson  <jas@extundo.com>
57998
57999         * tests/test-iconvme.c: New file.
58000
58001 2005-08-10  Simon Josefsson  <jas@extundo.com>
58002
58003         * m4/strnlen.m4: New file.
58004
58005         * m4/strndup.m4: Don't check for strnlen declaration, done in
58006         strnlen.m4.
58007
58008 2005-08-10  Simon Josefsson  <jas@extundo.com>
58009
58010         * lib/strndup.c: Use strnlen.h.
58011
58012         * lib/strnlen.h: New file.
58013
58014 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
58015
58016         * README: Typos.
58017
58018 2005-08-02  Simon Josefsson  <jas@extundo.com>
58019
58020         * modules/readline: New file.
58021
58022 2005-08-02  Simon Josefsson  <jas@extundo.com>
58023
58024         * modules/getdelim: New file.
58025
58026         * modules/getline: Rewrite, don't use getndelim2.
58027
58028 2005-08-02  Simon Josefsson  <jas@extundo.com>
58029
58030         * m4/getline.m4: Separate out getdelim stuff into separate module.
58031
58032         * m4/getdelim.m4: New file.
58033
58034 2005-08-02  Simon Josefsson  <jas@extundo.com>
58035
58036         * lib/getline.h, getline.c: Rewrite.
58037
58038         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
58039
58040 2005-07-31  Bruno Haible  <bruno@clisp.org>
58041
58042         * lib/lock.h (gl_lock_initializer): New macro.
58043         (gl_lock_define_initialized): Use it.
58044         (gl_rwlock_initializer): New macro.
58045         (gl_rwlock_define_initialized): Use it.
58046         (gl_recursive_lock_initializer): New macro.
58047         (gl_recursive_lock_define_initialized): Use it.
58048
58049 2005-07-30  Karl Berry  <karl@gnu.org>
58050
58051         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
58052         Report from Ben Pfaff, regarding getopt.
58053
58054 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
58055
58056         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
58057         normal way.
58058         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
58059         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
58060         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
58061         (gl_GETOPT): Use the new macros.  Most of the implementation
58062         is moved to the new macros.  This is for programs like Emacs
58063         that don't want all the functionality of gl_GETOPT.
58064
58065 2005-07-26  Bruno Haible  <bruno@clisp.org>
58066
58067         * m4/lock.m4: Update from GNU gettext.
58068
58069 2005-07-26  Bruno Haible  <bruno@clisp.org>
58070
58071         * lib/lock.h: Update from GNU gettext.
58072         * lib/lock.c: Update from GNU gettext.
58073
58074 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
58075
58076         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
58077         obsolescent AC_TRY_RUN.  Include the default includes files, for
58078         'exit'.
58079
58080 2005-07-24  Bruno Haible  <bruno@clisp.org>
58081
58082         * modules/visibility: New file.
58083         * MODULES.html.sh (Misc): Add visibility.
58084
58085 2005-07-24  Bruno Haible  <bruno@clisp.org>
58086
58087         * m4/visibility.m4: New file.
58088
58089 2005-07-24  Bruno Haible  <bruno@clisp.org>
58090
58091         * doc/visibility.texi: New file.
58092
58093 2005-07-22  Bruno Haible  <bruno@clisp.org>
58094
58095         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
58096         $(ALLOCA_H), redundant through BUILT_SOURCES.
58097         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
58098         redundant through BUILT_SOURCES.
58099         * modules/byteswap (Makefile.am): Remove explicit dependency on
58100         $(BYTESWAP_H), redundant through BUILT_SOURCES.
58101         * modules/fnmatch (Makefile.am): Remove explicit dependency on
58102         $(FNMATCH_H), redundant through BUILT_SOURCES.
58103         * modules/getopt (Makefile.am): Remove explicit dependency on
58104         $(GETOPT_H), redundant through BUILT_SOURCES.
58105         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
58106         redundant through BUILT_SOURCES.
58107         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
58108         redundant through BUILT_SOURCES.
58109         * modules/stdbool (Makefile.am): Remove explicit dependency on
58110         $(STDBOOL_H), redundant through BUILT_SOURCES.
58111         * modules/stdint (Makefile.am): Remove explicit dependency on
58112         $(STDINT_H), redundant through BUILT_SOURCES.
58113         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
58114         Remove explicit dependency on $(SYSEXITS_H).
58115         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
58116
58117 2005-07-18  Simon Josefsson  <jas@extundo.com>
58118
58119         * lib/check-version.c (check_version): Accept identical versions too.
58120
58121 2005-07-18  Bruno Haible  <bruno@clisp.org>
58122
58123         * modules/lock: New file.
58124         * MODULES.html.sh (Multithreading): New section.
58125
58126 2005-07-18  Bruno Haible  <bruno@clisp.org>
58127
58128         * m4/lock.m4: New file, from GNU gettext.
58129
58130 2005-07-18  Bruno Haible  <bruno@clisp.org>
58131
58132         * lib/lock.h: New file, from GNU gettext.
58133         * lib/lock.c: New file, from GNU gettext.
58134
58135 2005-07-18  Bruno Haible  <bruno@clisp.org>
58136
58137         * lib/lock.h (gl_once_t): New type.
58138         (gl_once_define, gl_once): New macros.
58139         * lib/lock.c (fresh_once): New variable.
58140         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
58141         functions.
58142
58143 2005-07-16  Simon Josefsson  <jas@extundo.com>
58144
58145         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
58146         workaround, suggested by Bruno.
58147
58148 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
58149
58150         * modules/xalloc (Depends-on): Add xalloc-die.
58151         * modules/xvasprintf (Depends-on): Add xalloc-die.
58152
58153 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
58154
58155         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
58156         with a minor change.
58157
58158 2005-07-15  Bruno Haible  <bruno@clisp.org>
58159
58160         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
58161         When using lib/poll.c, define poll as rpl_poll.
58162
58163 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
58164
58165         * modules/argp (Depends-on): Remove unlocked-io.
58166
58167 2005-07-14  Derek Price  <derek@ximbiot.com>
58168
58169         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
58170         for glob symlink bug.
58171
58172 2005-07-14  Bruno Haible  <bruno@clisp.org>
58173
58174         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
58175         Instead, test for *_unlocked function declarations directly.
58176
58177 2005-07-11  Simon Josefsson  <jas@extundo.com>
58178
58179         * modules/size_max: New file.
58180
58181         * modules/xsize: Depend on size_max module for size_max.m4.
58182
58183 2005-07-11  Simon Josefsson  <jas@extundo.com>
58184
58185         * lib/size_max.h: New file.
58186
58187 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
58188
58189         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
58190         copyright symbol and the year.
58191         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
58192         (version_etc_va): Use parameterized copyright notice.
58193         Reword to conform to the current GNU coding standards.
58194
58195 2005-07-11  Karl Berry  <karl@gnu.org>
58196
58197         * doc/gnulib.texi (Quoting): new node.
58198         (Initial import): more info, from Patrice.
58199
58200 2005-07-11  Bruno Haible  <bruno@clisp.org>
58201
58202         * gnulib-tool (func_usage): Document option --avoid.
58203         (Command line options): Handle --avoid.
58204         (func_acceptable): New function.
58205         (func_modules_transitive_closure): Use it.
58206
58207 2005-07-11  Bruno Haible  <bruno@clisp.org>
58208
58209         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
58210         Reported by Jim Meyering.
58211
58212 2005-07-10  Bruno Haible  <bruno@clisp.org>
58213
58214         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
58215         Needed when size_t is smaller than 'unsigned int'.
58216         Reported by Paul Eggert.
58217
58218 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
58219
58220         * modules/argp (Depends-on): Add unlocked-io
58221
58222 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
58223
58224         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
58225         block of defines.
58226
58227 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
58228
58229         * config/srclist.txt: Comment out regcomp.c, since we have a porting
58230         fix now.
58231
58232 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
58233         and Paul Eggert  <eggert@cs.ucla.edu>
58234
58235         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
58236         in wint_t, not wchar_t.  Remove now-unnecessary cast.
58237
58238 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
58239
58240         * modules/regex (Files): Add lib/regex_internal.c,
58241         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
58242         (Depends-on): Add extensions.
58243         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
58244
58245 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
58246
58247         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
58248         pathconf.
58249         * m4/same.m4 (gl_SAME): Likewise.
58250         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
58251
58252         * m4/regex.m4: Adjust to new libc regex implementation.
58253         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
58254         all the .c and .h parts of (the new) regex.
58255         Quote the m4 stuff better.
58256         Check for RE_ICASE bug of old gnulib.
58257         Check for REG_STARTEND of recent libc.
58258         Rename local variables from jm_* to gl_*.
58259         Quote operand of "test -f".
58260         Say "recent enough" version of libc, not "version 2".
58261         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
58262         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
58263         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
58264         Remove check for btowc, isascii.
58265         Require AM_LANGINFO_CODESET.
58266
58267 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
58268
58269         * lib/regex.c, regex.h: Sync from libc.
58270         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
58271         * lib/regexec.c:
58272         New files, synced from libc, except that regex_internal.h
58273         currently has a small porting fix.
58274
58275 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
58276
58277         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
58278         regex_internal.c, regexec.c.
58279         Add regex_internal.h too, but as a comment, since the libc version
58280         is currently broken in gnulib mode.
58281
58282 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
58283
58284         Support programs like Emacs that use gnulib but not gettext.
58285         * MODULES.html.sh (Internationalization functions): Add gettext-h.
58286         * modules/gettext-h: New file.
58287         * modules/gettext (Files): Remove lib/gettext.h.
58288         (Depends-on): Add gettext-h.
58289         (Makefile.am): Remove lib_SOURCES.
58290         * modules/argmatch, modules/c-stack, modules/closeout:
58291         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
58292         * modules/execute, modules/file-type, modules/getaddrinfo:
58293         * modules/getopt, modules/human, modules/javacomp:
58294         * modules/javaexec, modules/mkdir-p, modules/obstack:
58295         * modules/openat, modules/pagealign_alloc, modules/pipe:
58296         * modules/quotearg, modules/regex, modules/rpmatch:
58297         * modules/unicodeio, modules/userspec, modules/version-etc:
58298         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
58299         * modules/xsetenv:
58300         Depend on gettext-h, not gettext.
58301
58302 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
58303
58304         * gnulib-tool (func_import): Add support for 'public domain' license.
58305         * modules/alloca, modules/atexit, modules/memmove:
58306         Now public domain, not GPL.
58307         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
58308         * modules/realloc, modules/strerror, modules/strtod:
58309         Now LGPL, not GPL.
58310
58311 2005-07-05  Bruno Haible  <bruno@clisp.org>
58312
58313         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
58314         autoconf CVS. Needed for mingw.
58315
58316 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
58317
58318         Remove the dependency of the strftime module on the tzset module.
58319         * modules/strftime (Depends-on): Remove dependency on tzset.
58320
58321 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
58322
58323         Remove the dependency of the strftime module on the tzset module.
58324         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
58325         gl_FUNC_TZSET_CLOBBER.
58326
58327 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
58328
58329         Remove the dependency of the strftime module on the tzset module.
58330         * lib/strftime.c (my_strftime)
58331         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
58332         Copy the input structure, to work around some of the bug with
58333         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
58334         Solaris releases, you should also use the tzset module, but we won't
58335         require it as a dependency any more since we don't want LGPLed code
58336         to depend on GPLed code.
58337
58338 2005-07-02  Jim Meyering  <jim@meyering.net>
58339
58340         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
58341         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
58342         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
58343         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
58344
58345 2005-07-02  Jim Meyering  <jim@meyering.net>
58346
58347         * lib/backupfile.c (backup_args): Change a `0' to NULL.
58348
58349 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
58350
58351         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
58352         declares only 'struct timespec;' (!).
58353
58354 2005-07-01  Jim Meyering  <jim@meyering.net>
58355
58356         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
58357         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
58358         * lib/save-cwd.c, tempname.c:
58359         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
58360         and don't include <sys/file.h>).
58361
58362 2005-06-29  Jim Meyering  <jim@meyering.net>
58363
58364         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
58365         type name.  Use the variable name instead.
58366         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
58367         Likewise.
58368
58369 2005-06-28  Simon Josefsson  <jas@extundo.com>
58370
58371         * modules/check-version (Files): Add check-version.m4.
58372
58373 2005-06-28  Simon Josefsson  <jas@extundo.com>
58374
58375         * m4/check-version.m4: New file, suggested by Jim Meyering
58376         <jim@meyering.net>.
58377
58378 2005-06-28  Simon Josefsson  <jas@extundo.com>
58379
58380         * lib/check-version.h, lib/check-version.c: New files.
58381
58382 2005-06-28  Simon Josefsson  <jas@extundo.com>
58383
58384         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
58385         collision with global variable.  Better indentation.  Don't
58386         increment buffer pointer beyond buffer end.  Based on comments
58387         from Paul Eggert <eggert@cs.ucla.edu>.
58388
58389         * lib/base64.h: Indent.
58390
58391 2005-06-28  Simon Josefsson  <jas@extundo.com>
58392
58393         * doc/gnulib.texi (Library version handling): New section.
58394
58395 2005-06-28  Jim Meyering  <jim@meyering.net>
58396
58397         * check-module (find_included_lib_files): Hard-code another
58398         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
58399         but modules/fts-lgpl (correctly) does not list those files.
58400
58401         * modules/canonicalize (Files): Add lib/pathmax.h.
58402
58403 2005-06-25  Simon Josefsson  <jas@extundo.com>
58404
58405         * modules/check-version: New file.
58406
58407 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
58408
58409         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
58410         initializer of struct addrinfo, as an indication that we don't
58411         care how many members the structure has.
58412
58413 2005-06-24  Derek Price  <derek@ximbiot.com>
58414         and Bruno Haible  <bruno@clisp.org>
58415
58416         Remove stat module & update lstat.
58417         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
58418         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
58419         * m4/stat.m4: Remove this file.
58420
58421 2005-06-24  Derek Price  <derek@ximbiot.com>
58422         and Bruno Haible  <bruno@clisp.org>
58423
58424         Remove stat module & update lstat.
58425         * lib/stat.c: Remove this file...
58426         (slash_aware_lstat): ...moving this content and its support...
58427         * lib/lstat.c (rpl_lstat): ...into here.
58428         * lib/lstat.h: New file.
58429
58430 2005-06-24  Derek Price  <derek@ximbiot.com>
58431         and Bruno Haible  <bruno@clisp.org>
58432
58433         Remove stat module & update lstat.
58434         * config/srclist.txt (libc sources): Remove stat.
58435
58436 2005-06-24  Derek Price  <derek@ximbiot.com>
58437         and Bruno Haible  <bruno@clisp.org>
58438
58439         Remove stat module & update lstat.
58440         * MODULES.html.sh (stat): Remove.
58441         * MODULES.html: Regenerated.
58442         * modules/lstat (Description): Correct function name.
58443         (Files): Add "lstat.h".
58444         (Depends-on): Remove stat, add xalloc, stat-macros.
58445         * modules/stat: Remove this file.
58446         (Include): Add "lstat.h", remove <sys/stat.h>.
58447
58448 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
58449
58450         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
58451         (ranged_convert): Don't save conversion in a temporary struct.
58452         This causes a warning with GCC 4.0.0, and anyway in the typical
58453         case it's not worth the extra 100 bytes or so of code.
58454         (ranged_convert, __mktime_internal): When calling a function via a
58455         pointer P, use P () rather than (*P) (), as we now assume C89 or
58456         better.
58457
58458 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
58459
58460         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
58461         "who -r" failed to give output.  Problem reported by Tim Waugh.
58462
58463         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
58464         (xcalloc): Use it to avoid needless tests.
58465         Problem reported by Jim Meyering.
58466
58467 2005-06-20  Derek Price  <derek@ximbiot.com>
58468
58469         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
58470         unnecessary for Autoconfs > 2.59c.
58471
58472 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
58473
58474         * lib/argp.h (__option_is_short): Check upper limit of
58475         __key. Isprint() requires its argument to have the value
58476         of an unsigned char or EOF.
58477
58478 2005-06-16  Jim Meyering  <jim@meyering.net>
58479
58480         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
58481         when either N or S is zero.
58482
58483 2005-06-16  Derek Price  <derek@ximbiot.com>
58484
58485         * m4/bison.m4: Declare YACC & YFLAGS precious.
58486
58487 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
58488
58489         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
58490         multibyte string or pattern, fall back on unibyte matching.
58491         Problem reported by James Youngman.
58492
58493 2005-06-08  Bruno Haible  <bruno@clisp.org>
58494
58495         * modules/csharpcomp: New file.
58496         * MODULES.html.sh (C#): Add csharpcomp.
58497
58498 2005-06-08  Bruno Haible  <bruno@clisp.org>
58499
58500         * m4/csharpcomp.m4: New file, from GNU gettext.
58501
58502 2005-06-08  Bruno Haible  <bruno@clisp.org>
58503
58504         * lib/csharpcomp.h: New file, from GNU gettext.
58505         * lib/csharpcomp.c: New file, from GNU gettext.
58506         * lib/csharpcomp.sh.in: New file, from GNU gettext.
58507
58508 2005-06-08  Bruno Haible  <bruno@clisp.org>
58509
58510         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
58511         warning on mingw.
58512
58513 2005-06-07  Derek Price  <derek@ximbiot.com>
58514
58515         Sync from CVS.
58516         * lib/glob_.h: Indent nested #ifdef.
58517
58518 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
58519
58520         Sync from coreutils.
58521         Use "file name" when talking about file names, instead of "filename"
58522         or "path", as per the GNU coding standards.
58523         * lib/mkdir-p.c: Renamed from makepath.c.
58524         (make_dir_parents): Renamed from make_path.  All callers changed.
58525         * lib/mkdir-p.h: Likewise.  All includers changed.
58526         * lib/filenamecat.c: Renamed from path-concat.c.
58527         (file_name_concat): Renamed from path_concat.  All callers changed.
58528         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
58529         * lib/filenamecat.h: Likewise.  All includers changed.
58530         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
58531         in comments or local variable names.
58532         * lib/basename.c: Likewise.
58533         * lib/canonicalize.c, canonicalize.h: Likewise.
58534         * lib/dirname.c, dirname.h: Likewise.
58535         * lib/euidaccess.c: Likewise.
58536         * lib/exclude.c: Likewise
58537         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
58538         * lib/fsusage.c, fsuage.h: Likewise.
58539         * lib/fts.c, fts_.h: Likewise.
58540         * lib/getcwd.c: Likewise.
58541         * lib/getloadavg.c: Likewise.
58542         * lib/mkstemp.c: Likewise.
58543         * lib/mountlist.c, mountlist.h: Likewise.
58544         * lib/openat.c, openat.h: Likewise.
58545         * lib/readlink-stub.c: Likewise.
58546         * lib/readutmp.c, readutmp.h: Likewise.
58547         * lib/rename.c: Likewise.
58548         * lib/rmdir.c: Likewise.
58549         * lib/same.c: Likewise.
58550         * lib/savedir.c: Likewise.
58551         * lib/stripslash.c: Likewise.
58552         * lib/tempname.c: Likewise.
58553         * lib/xreadlink.c: Likewise.
58554         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
58555         All uses changed.
58556         * lib/exclude.h: Likewise.
58557
58558         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
58559         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
58560         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
58561         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
58562         * lib/pathmax.h: Include <limits.h> unconditionally, since other
58563         files have been getting away with it for years (MORE/BSD 4.3
58564         is extinct now).
58565         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
58566         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
58567
58568         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
58569         Define to 256, not 255, as per modern POSIX.
58570
58571 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
58572
58573         Sync from coreutils.
58574         Use "file name" when talking about file names, instead of "filename"
58575         or "path", as per the GNU coding standards.
58576         * MODULES.html.sh: mkdir-p renamed from makepath.
58577         filenamecat renamed from path-concat.
58578         * modules/filenamecat: Renamed from modules/path-concat.
58579         (Files): filenamecat.h and filenamecat.c renamed from
58580         path-concat.h and path-concat.c.
58581         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
58582         (Include): filenamecat.h, not path-concat.h.
58583         * modules/mkdir-p: Renamed from modules/makepath.
58584         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
58585         makepath.c.
58586         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
58587         (Include): mkdir-p.h, not makepath.h.
58588
58589 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
58590
58591         Sync from coreutils.
58592         * m4/mkdir-p.m4: Renamed from makepath.m4.
58593         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
58594         Rename files from makepath.c to mkdir-p.c, and from
58595         makepath.h to mkdir-p.h.
58596         * m4/filenamecat.m4: Renamed from path-concat.m4.
58597         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
58598         Rename files from path-concat.c to filenamecat.c,
58599         and from path-concat.h to filenamecat.h.
58600         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
58601         "file name" in local variables or comments.
58602         * m4/rename.m4: Likewise.
58603
58604 2005-06-01  Bruno Haible  <bruno@clisp.org>
58605
58606         * modules/csharpexec: New file.
58607         * MODULES.html.sh (C#): New section.
58608
58609 2005-06-01  Bruno Haible  <bruno@clisp.org>
58610
58611         * m4/csharp.m4: New file, from GNU gettext.
58612         * m4/csharpexec.m4: New file, from GNU gettext.
58613
58614 2005-06-01  Bruno Haible  <bruno@clisp.org>
58615
58616         * lib/csharpexec.h: New file, from GNU gettext.
58617         * lib/csharpexec.c: New file, from GNU gettext.
58618         * lib/csharpexec.sh.in: New file, from GNU gettext.
58619
58620 2005-05-31  Derek Price  <derek@ximbiot.com>
58621             Paul Eggert  <eggert@cs.ucla.edu>
58622
58623         Sync from cvs.
58624         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
58625
58626 2005-05-31  Derek Price  <derek@ximbiot.com>
58627             Paul Eggert  <eggert@cs.ucla.edu>
58628
58629         Sync from cvs.
58630         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
58631
58632 2005-05-29  Derek Price  <derek@ximbiot.com>
58633
58634         * config/srclist.txt (glob_.h, glob.c): Add these files.
58635
58636 2005-05-29  Derek Price  <derek@ximbiot.com>
58637
58638         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
58639         * modules/glob: New file.
58640         * modules/getlogin_r: Add link to POSIX spec in description.
58641
58642 2005-05-29  Derek Price  <derek@ximbiot.com>
58643             Paul Eggert  <eggert@cs.ucla.edu>
58644
58645         * m4/glob.m4: New file.
58646
58647 2005-05-29  Derek Price  <derek@ximbiot.com>
58648             Paul Eggert  <eggert@cs.ucla.edu>
58649
58650         * lib/glob_.h, lib/glob.c: New files.
58651
58652 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
58653
58654         * modules/fts (Files): Remove m4/inttypes-pri.m4.
58655         * modules/fts-lgpl (Depends-on): Remove gettext.
58656
58657 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
58658
58659         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
58660         and don't require gt_INTTYPES_PRI.
58661
58662 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
58663
58664         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
58665
58666         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
58667         the configuration hassle isn't worth it.
58668         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
58669         (LONGEST_MODIFIER, PRIuMAX): Remove.
58670
58671 2005-05-27  Bruno Haible  <bruno@clisp.org>
58672
58673         * lib/getlogin_r.h: Remove second include of <stddef.h>.
58674
58675 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
58676
58677         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
58678         _POSIX_PTHREAD_SEMANTICS for Solaris.
58679
58680 2005-05-25  Derek Price  <derek@ximbiot.com>
58681
58682         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
58683
58684 2005-05-25  Derek Price  <derek@ximbiot.com>
58685             Paul Eggert  <eggert@cs.ucla.edu>
58686
58687         * modules/getlogin_r, m4/getlogin_r.m4: New files.
58688         * lib/getlogin_r.c, getlogin_r.h: New files.
58689
58690 2005-05-25  Bruno Haible  <bruno@clisp.org>
58691             Derek Price  <derek@ximbiot.com>
58692
58693         * lib/getlogin_r.h: Simplify API documentation.
58694
58695 2005-05-23  Derek Price  <derek@ximbiot.com>
58696
58697         * modules/minmax (Files): Add m4/minmax.m4.
58698         (configure.ac): Add gl_MINMAX.
58699
58700 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
58701
58702         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
58703         so that unistd-safer.h (GPL'ed code) need not be included.
58704
58705 2005-05-22  Bruno Haible  <bruno@clisp.org>
58706
58707         * m4/minmax.m4: New file.
58708         Based on a patch by Derek Price <derek@ximbiot.com>.
58709
58710 2005-05-22  Bruno Haible  <bruno@clisp.org>
58711
58712         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
58713         (INT64_MIN): Fix definition.
58714         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
58715
58716         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
58717         NEED_SIGNED_INT_TYPES.
58718
58719         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
58720         HAVE_SYSTEM_INTTYPES.
58721
58722 2005-05-22  Bruno Haible  <bruno@clisp.org>
58723
58724         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
58725         Also include <sys/param.h> if it defines MIN, MAX.
58726         Based on a patch by Derek Price <derek@ximbiot.com>.
58727
58728 2005-05-21  Jim Meyering  <jim@meyering.net>
58729
58730         * modules/fts (Files): Add m4/inttypes-pri.m4.
58731         (Depends-on): Add lstat and remove gettext.  Alphabetize.
58732
58733 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
58734
58735         New fts module.
58736         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
58737         (setup_dir, free_dir): New functions.
58738         (enter_dir, leave_dir): Define trivial
58739         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
58740         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
58741         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
58742         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
58743         Move to fts-cycle.c.
58744         (fts_open): Use setup_dir.
58745         (fts_close): Use free_dir.
58746         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
58747         This adds a label and some gotos, but the alternatives were messier.
58748         Check for memory allocation failure when entering a dir.
58749         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
58750         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
58751         (FTS): New member fts_cycle, that is a union that contains the
58752         old active_dir_ht and cycle_state.  All uses changed to mention
58753         fts_cycle.ht and fts_cycle.state.
58754         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
58755         fts.c, with the following changes:
58756         (setup_dir, free_dir): New functions.
58757         (enter_dir): Now returns bool.  Return true if successful, false
58758         if memory exhausted.  All callers changed.
58759         Do not bother partly cleaning up on
58760         memory allocation failure; that is free_dir's job.
58761         However, free ad if hash_insert fails, to avoid memory leak.
58762         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
58763         fts->fts_options to see which union member to use.
58764
58765 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
58766
58767         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
58768         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
58769
58770 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
58771
58772         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
58773
58774 2005-05-20  Jim Meyering  <jim@meyering.net>
58775
58776         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
58777         Now a macro, to pacify GCC.
58778
58779 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
58780
58781         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
58782         of -1.
58783
58784 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
58785
58786         * lib/chown.c (rpl_chown): Return -1 on failure.
58787
58788 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
58789
58790         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
58791         Don't check for stddef.h.
58792         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
58793         don't use its results.
58794         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
58795         since we include them unconditionally.  Don't require
58796         AM_STDBOOL_H, since stdbool is a prerequisite.
58797         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
58798         since we assume C89 or better.
58799         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
58800         as we don't use their results.
58801         Don't check for fchdir, memmove, memset, strrchr, as we use
58802         them unconditionally.
58803         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
58804         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
58805
58806 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
58807
58808         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
58809         Include <stddef.h> unconditionally, since we assume C89 now.
58810         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
58811         * lib/fts.c: Include fts_.h first, to check interface.
58812         Do not include intprops.h; no longer needed.
58813         Include cycle-check.h and hash.h, since fts_.h no longer does.
58814         Remove unnecessary casts of closedir to void.
58815         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
58816         decide whether to decrement nlinks.
58817         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
58818         (FTS): Use struct hash_table * instead of Hash_table, so that
58819         we no longer need to include hash.h here.
58820
58821 2005-05-18  Jim Meyering  <jim@meyering.net>
58822
58823         * modules/dirfd (License): Change to LGPL.  Most of the code
58824         is already in the public domain.
58825
58826 2005-05-18  Jim Meyering  <jim@meyering.net>
58827
58828         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
58829         Reported by Yoann Vandoorselaere.
58830
58831 2005-05-17  Jim Meyering  <jim@meyering.net>
58832
58833         * m4/fts.m4: New file, from coreutils.
58834
58835 2005-05-17  Jim Meyering  <jim@meyering.net>
58836
58837         * lib/fts.c, lib/fts_.h: New files, from coreutils.
58838
58839 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
58840
58841         Sync from coreutils.
58842         * m4/unlinkdir.m4: New file.
58843
58844 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
58845
58846         Sync from coreutils.
58847         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
58848         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
58849         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
58850         White space changes only.
58851         * lib/makepath.c (make_path): Port to hosts where leading "//" is
58852         special.
58853         * lib/yesno.c: Include getline.h, not ctype.h.
58854         (yesno): Don't remove leading white space; POSIX doesn't allow it.
58855         Use getline to remove arbitrary restriction on response length.
58856
58857 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
58858
58859         * config/srclist-update: Spell out "Street" in FSF postal
58860         mail address; this is the style the FSF seems to prefer.
58861
58862         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
58863         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
58864         this updates FSF postal mail address.
58865
58866         Sync from coreutils.
58867         * modules/unlinkdir: New file.
58868         * modules/yesno (Depends-on): Add getline.
58869         * MODULES.html.sh (File system functions): Add unlinkdir.
58870
58871 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
58872
58873         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
58874         lib/strsep.h:
58875         Change the initial comment to refer to GPL, not LGPL.
58876         gnulib-tool will change it to LGPL as needed.
58877
58878         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
58879         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
58880         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
58881         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
58882         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
58883         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
58884         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
58885         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
58886         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
58887         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
58888         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
58889         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
58890         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
58891         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
58892         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
58893         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
58894         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
58895         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
58896         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
58897         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
58898         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
58899         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
58900         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
58901         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
58902         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
58903         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
58904         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
58905         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
58906         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
58907         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
58908         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
58909         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
58910         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
58911         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
58912         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
58913         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
58914         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
58915         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
58916         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
58917         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
58918         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
58919         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
58920         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
58921         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
58922         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
58923         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
58924         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
58925         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
58926         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
58927         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
58928         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
58929         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
58930         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
58931         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
58932         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
58933         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
58934         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
58935         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
58936         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
58937         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
58938         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
58939         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
58940         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
58941         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
58942         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
58943         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
58944         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
58945         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
58946         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
58947         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
58948         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
58949         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
58950         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
58951         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
58952         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
58953         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
58954         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
58955         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
58956         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
58957         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
58958         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
58959         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
58960         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
58961         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
58962         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
58963         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
58964         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
58965         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
58966         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
58967         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
58968         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
58969         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
58970         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
58971         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
58972         lib/yesno.c, lib/yesno.h:
58973         Update FSF postal mail address.
58974
58975 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
58976
58977         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
58978         tests/test-memmem.c, tests/test-stpncpy.c:
58979         Update FSF postal mail address.
58980
58981 2005-05-13  Bruno Haible  <bruno@clisp.org>
58982
58983         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
58984         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
58985         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
58986         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
58987         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
58988         Add support for 64-bit integers in the MSVC compiler.
58989
58990 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
58991
58992         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
58993
58994 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
58995
58996         * gnulib-tool (func_import): Sort and uniquify recommended includes.
58997
58998 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
58999
59000         * doc/getdate.texi (General date syntax): Don't say that date
59001         date --iso-8601=ns generates acceptable dates; it doesn't yet.
59002         Problem reported by Nic Ferrier.
59003
59004 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
59005
59006         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
59007         specified in ai_socktype. Fix invalid ai_protocol
59008         check. ai_protocol is usually set to 0 or depending on
59009         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
59010         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
59011         ai_socktype / ai_protocol in the returned addrinfo structure.
59012
59013 2005-05-10  Simon Josefsson  <jas@extundo.com>
59014
59015         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
59016         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
59017
59018 2005-05-10  Karl Berry  <karl@gnu.org>
59019
59020         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
59021         (from http://www.gnu.org/licenses).
59022         * doc/COPYING.LIB: also rename to COPYING.LESSER.
59023         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
59024         fdl.texi suffices.
59025
59026 2005-05-10  Karl Berry  <karl@gnu.org>
59027
59028         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
59029         (COPYING.DOC): remove.
59030
59031         * config/srclist-update: new FSF address.
59032
59033 2005-05-10  Derek Price  <derek@ximbiot.com>
59034
59035         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
59036         possible.
59037
59038 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
59039             Bruno Haible  <bruno@clisp.org>
59040
59041         * modules/inet_ntop: New file.
59042         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
59043         inet_ntop.
59044
59045 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
59046             Bruno Haible  <bruno@clisp.org>
59047
59048         * m4/inet_ntop.m4: New file.
59049
59050 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
59051             Bruno Haible  <bruno@clisp.org>
59052
59053         * lib/inet_ntop.h: New file.
59054         * lib/inet_ntop.c: New file, from glibc with modifications.
59055
59056 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
59057
59058         * modules/time_r (License): Change to LGPL.
59059         * modules/extensions (License): Change to LGPL.  Actually,
59060         the license is more permissive than that, but currently gnulib-tool
59061         doesn't know how to handle more-permissive licenses.
59062
59063         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
59064         Problem reported by Dave Love.
59065
59066 2005-05-08  Jim Meyering  <jim@meyering.net>
59067
59068         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
59069         blank.
59070
59071 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
59072
59073         * modules/argmatch (Depends-on): Add stdbool.
59074         * modules/backupfile (Depends-on): Likewise.
59075         * modules/chdir-long (Depends-on): Likewise.
59076         * modules/closeout (Depends-on): Likewise.
59077         * modules/cycle-check (Depends-on): Likewise.
59078         * modules/dirname (Depends-on): Likewise.
59079         * modules/fnmatch (Depends-on): Likewise.
59080         * modules/fsusage (Depends-on): Likewise.
59081         * modules/fwriteerror (Depends-on): Likewise.
59082         * modules/getcwd (Depends-on): Likewise.
59083         * modules/getloadavg (Depends-on): Likewise.
59084         * modules/hard-locale (Depends-on): Likewise.
59085         * modules/makepath (Depends-on): Likewise.
59086         * modules/mountlist (Depends-on): Likewise.
59087         * modules/nanosleep (Depends-on): Likewise.
59088         * modules/posixtm (Depends-on): Likewise.
59089         * modules/quotearg (Depends-on): Likewise.
59090         * modules/readtokens (Depends-on): Likewise.
59091         * modules/readtokens0 (Depends-on): Likewise.
59092         * modules/readutmp (Depends-on): Likewise.
59093         * modules/save-cwd (Depends-on): Likewise.
59094         * modules/strftime (Depends-on): Likewise.
59095         * modules/userspec (Depends-on): Likewise.
59096         * modules/utimecmp (Depends-on): Likewise.
59097         * modules/xgetcwd (Depends-on): Likewise.
59098         * modules/xnanosleep (Depends-on): Likewise.
59099         * modules/xstrtod (Depends-on): Likewise.
59100         * modules/yesno (Depends-on): Likewise.
59101
59102 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
59103
59104         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
59105         needless checks.
59106
59107 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
59108
59109         Merge from coreutils.  Among other things,
59110         add bulletproofing for cases where stdin, stdout, or stderr are closed.
59111         * lib/fd-safer.c: New file.
59112         * lib/fcntl-safer.h, open-safer.c: Remove.
59113         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
59114         * lib/dup-safer.c: Include unistd-safer.h first.
59115         Don't include errno.h.
59116         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
59117         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
59118         * lib/file-type.c: Rely on file-type.h change.
59119         * lib/getloadavg.c: Include unistd-safer.h.
59120         (getloadavg): Use safer open.
59121         * lib/getusershell.c: Include "stdio-safer.h".
59122         (getusershell): Use safer fopen.
59123         * lib/long-options.c (long_options): Use NULL rather than 0.
59124         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
59125         'free'.
59126         * lib/modechange.c: Likewise.
59127         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
59128         (MODE_DONE): New constant.
59129         (struct mode_change): Remove 'next' member.
59130         (make_node_op_equals): New function; like the old one of the
59131         same name, except it allocates an array.
59132         (mode_compile, mode_create_from_ref): Use it.
59133         (mode_compile): Allocate result as an array, not a linked list.
59134         Parse octal string ourself, so that we catch mistakes like "+0".
59135         (mode_adjust): Arg is an array, not a linked list.
59136         * lib/modechange.c: Include stat-macros.h, xalloc.h.
59137         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
59138         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
59139         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
59140         Remove.  This is now stat-macros.h's job.
59141         (talloc): Remove.  All callers replaced by xalloc, so that
59142         our invokers don't have to worry about reporting memory failures.
59143         (make_node_op_equals): Remove.
59144         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
59145         New constants.
59146         (struct mode_change): Moved here from modechange.h.
59147         (mode_append_entry): Remove.
59148         (mode_compile): Remove MASKED_OPS arg, since it encouraged
59149         apps to have incorrect behavior.  Use simpler algorithm for head
59150         and tail.  Don't futz with umask; that's now the job of mode_adjust.
59151         Detect more invalid usages rather than having somewhat-random behavior.
59152         Don't insert an "a=" action, as that leads to incorrect behavior.
59153         (mode_compile, mode_create_from_ref): Return NULL on error instead
59154         of an enum, since now there's only one way to have an error.  All
59155         callers changed.
59156         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
59157         at the correct time.  Simplify calculation of "+u" and its ilk.
59158         Don't mishandle "+X".
59159         (mode_free): Remove "register" and localize decls.
59160         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
59161         (struct mode_change): Move to modechange.c; callers don't
59162         need to see this stuff.
59163         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
59164         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
59165         (mode_change, mode_adjust): Reflect the new signatures noted above.
59166         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
59167         that might redefine system include files.
59168         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
59169         (my_usleep): Use NULL rather than (void *) 0.
59170         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
59171         Use siginterrupt to specify that system calls should be interrupted.
59172         (rpl_nanosleep): Move initialization of suspended closer to call of
59173         my_usleep.
59174         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
59175         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
59176         (desirable_utmp_entry): New function.
59177         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
59178         using x2nrealloc, to simplify logic.
59179         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
59180         size calculation.  Do not assume utmp file is a regular file.
59181         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
59182         (READ_UTMP_CHECK_PIDS): New constant.
59183         * lib/save-cwd.c: Include unistd-safer.h.
59184         (save_cwd): Use fd_safer.
59185         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
59186         [!_LIBC] Include "stat-macros.h" instead.
59187         * lib/unistd-safer.h (fd_safer): New decl.
59188
59189 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
59190
59191         * modules/getloadavg (Depends-on): Add unistd-safer.
59192         * modules/getusershell (Depends-on): Add stdio-safer.
59193         * modules/lstat (Depends-on): Remove xalloc.
59194         * modules/mkstemp (Depends-on): Add stat-macros.
59195         * modules/modechange (Depends-on): Remove xstrtol.
59196         Add stat-macros, xalloc.
59197         * modules/save-cwd (Depends-on): Add unistd-safer.
59198         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
59199         * modules/unistd-safer (Files): Add lib/fd-safer.c
59200         (Makefile.am): Remove lib_SOURCES.
59201
59202         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
59203         Remove fcntl-safer; unistd-safer supersedes it.
59204
59205 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
59206
59207         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
59208         AC_HEADER_STAT.
59209         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
59210         (gl_PREREQ_CHOWN): Remove.
59211         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
59212         it.  Don't require AC_HEADER_STAT.
59213         (gl_PREREQ_LSTAT): Remove.
59214         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
59215         Don't require AC_HEADER_STAT.
59216         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
59217         (gl_PREREQ_RMDIR): Remove.
59218         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
59219         mention stat-macros.h or AC_HEADER_STAT, since we'll make
59220         the stat-macros module a prerequisite.
59221         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
59222         * m4/filemode.m4 (gl_FILEMODE): Likewise.
59223         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
59224         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
59225         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
59226         variable names.
59227         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
59228         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
59229         variable prefixes.
59230         * m4/fcntl-safer.m4: Remove.
59231         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
59232         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
59233         Invoke gl_PREREQ_FD_SAFER.
59234         (gl_PREREQ_FD_SAFER): New macro.
59235         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
59236         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
59237         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
59238         Remove duplicate call to AC_LIBOBJ(readutmp).
59239         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
59240
59241         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
59242         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
59243
59244 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
59245
59246         * MODULES.html.sh (Misc): Add byteswap.
59247
59248 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
59249
59250         * modules/getcwd (Depends-on): Add extensions.
59251         * modules/openat (Depends-on): Likewise.
59252
59253 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
59254
59255         * modules/byteswap: New file.
59256
59257 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
59258
59259         * m4/byteswap.m4: New file.
59260
59261 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
59262
59263         * lib/byteswap_.h: New file.
59264
59265 2005-04-25  Karl Berry  <karl@gnu.org>
59266
59267         * m4/gettext.m4: Update from GNU gettext 0.14.4.
59268
59269 2005-04-25  Albert Chin  <china@thewrittenword.com>
59270
59271         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
59272         Toolkit C bug.
59273
59274 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
59275
59276         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
59277         (func_ln_if_changed) Remove forcibly for no error message
59278         in case file does not exist.
59279
59280 2005-04-19  Simon Josefsson  <jas@extundo.com>
59281
59282         * gnulib-tool (Options): Make --symlink mean --symbolic.
59283
59284 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
59285
59286         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
59287
59288 2005-04-16  Simon Josefsson  <jas@extundo.com>
59289
59290         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
59291
59292 2005-04-15  Simon Josefsson  <jas@extundo.com>
59293
59294         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
59295
59296 2005-04-15  Simon Josefsson  <jas@extundo.com>
59297
59298         * gnulib-tool: Rename --symlink to --symbolic.
59299
59300 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
59301
59302         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
59303         symbolic links to files instead of copying/moving.  Add --aux-dir,
59304         specifying directory relative --dir where auxiliary build tools
59305         are placed.
59306
59307 2005-04-14  Bruno Haible  <bruno@clisp.org>
59308
59309         * modules/allocsa (License): Change to LGPL.
59310         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
59311
59312 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
59313
59314         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
59315         that "UTC +1 second" continues to work.  Problem reported
59316         by Dmitry V. Levin.
59317         (relunit_snumber): New rule.
59318         (relunit): Use it.
59319
59320 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
59321
59322         * lib/getdate.y (universal_time_zone_table): New constant.
59323         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
59324         universal_time_zone_table.
59325         (lookup_zone): Prefer universal_time_zone_table to
59326         local_time_zone_table, so that "GMT" time stamps are allowed in
59327         London during the summer.  Problem reported by Ian Abbott.
59328
59329 2005-04-12  Jim Meyering  <jim@meyering.net>
59330
59331         * lib/human.c (humblock): Set *options even when returning due to
59332         xstrtoumax conversion failure.  Thanks to a used-uninitialized
59333         warning from gcc-4.
59334
59335 2005-04-09  Jim Meyering  <jim@meyering.net>
59336
59337         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
59338         -Wuninitialized: initialize tm0.tm_year.
59339
59340 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
59341
59342         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
59343         count, since there's no maximum.  All uses changed.
59344         Add member dsts_seen.
59345         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
59346         not being INT_MAX.
59347         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
59348         Use pc_rels_seen to decide whther a date is absolute.
59349
59350         * lib/getdate.y (number): Don't overwrite year.
59351         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
59352         check.
59353
59354 2005-04-02  Simon Josefsson  <jas@extundo.com>
59355
59356         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
59357         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
59358
59359 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
59360
59361         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
59362         where no absolute path name can be longer than PATH_MAX.
59363
59364 2005-03-27  Jim Meyering  <jim@meyering.net>
59365
59366         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
59367
59368 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
59369
59370         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
59371         "one's complement" -> "ones' complement" in comment, as per Knuth.
59372         "value of type" -> "type or expression" in comment.
59373         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
59374
59375 2005-03-26  Jim Meyering  <jim@meyering.net>
59376
59377         Comment nits.
59378         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
59379         Correct typos: s/or/of/.
59380
59381 2005-03-26  Jim Meyering  <jim@meyering.net>
59382
59383         * modules/check-include-files: Move to ../ and rename to...
59384         * check-module: ...this.
59385
59386 2005-03-25  Jim Meyering  <jim@meyering.net>
59387
59388         * modules/xvasprintf (Files): Add xalloc.h.
59389
59390 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
59391
59392         * modules/gettext (Files): config/config.rpath ->
59393         build-aux/config.rpath
59394         * modules/iconv (Files): Likewise.
59395         Problem reported by Oskar Liljeblad.
59396
59397 2005-03-23  Jim Meyering  <jim@meyering.net>
59398
59399         * modules/check-include-files: New script to check for
59400         missing dependencies, multiple includes, etc.
59401
59402         * modules/c-strtold (Depends-on): Add xalloc.
59403         * modules/c-strtod (Depends-on): Add xalloc.
59404         * modules/hash (Depends-on): Add xalloc.
59405         (Files): Remove lib/xalloc.h.
59406
59407         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
59408         * modules/userspec (Files): Add lib/inttostr.h.
59409
59410 2005-03-23  Jim Meyering  <jim@meyering.net>
59411
59412         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
59413
59414 2005-03-22  Jim Meyering  <jim@meyering.net>
59415
59416         * modules/stat-macros: New module.
59417         * modules/canonicalize, modules/euidaccess, modules/file-type,
59418         * modules/filemode, modules/lchown, modules/makepath,
59419         * modules/rmdir, modules/stat: Depend on new stat-macros module
59420         rather than listing lib/stat-macros.h manually.
59421         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
59422
59423 2005-03-22  Jim Meyering  <jim@meyering.net>
59424
59425         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
59426
59427 2005-03-22  Bruno Haible  <bruno@clisp.org>
59428
59429         * config/srclist.txt: Replace target directory 'config' with
59430         'build-aux'.
59431         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
59432         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
59433         ../build-aux/.
59434
59435 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
59436
59437         * modules/chdir-long (Depends-on): Add mempcpy.
59438
59439         * modules/acl, modules/backupfile, modules/c-strtod,
59440         modules/c-strtold, modules/canon-host, modules/canonicalize,
59441         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
59442         modules/exclude, modules/exitfail, modules/file-type,
59443         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
59444         modules/getdate, modules/getline, modules/getpagesize,
59445         modules/getpass, modules/getugroups, modules/group-member,
59446         modules/hard-locale, modules/hash, modules/human, modules/idcache,
59447         modules/inttostr, modules/long-options, modules/makepath,
59448         modules/md5, modules/memcasecmp, modules/memcoll,
59449         modules/modechange, modules/mountlist, modules/path-concat,
59450         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
59451         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
59452         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
59453         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
59454         modules/strftime, modules/strndup, modules/strverscmp,
59455         modules/timespec, modules/unlocked-io, modules/userspec,
59456         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
59457         modules/yesno:
59458         Remove lib_SOURCES line from Makefile.am section, as this is now
59459         done automatically by the corresponding Autoconf macro.
59460
59461 2005-03-21  Jim Meyering  <jim@meyering.net>
59462
59463         Changes imported from coreutils.
59464
59465         * lib/cycle-check.c: Don't include xalloc.h.
59466
59467         * lib/path-concat.c: Don't include assert.h.
59468         (path_concat): Remove assertion that would have triggered
59469         for ABASE starting with more than one slash.
59470         Reported by Andreas Schwab.
59471
59472         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
59473         properly when ABASE is an absolute file name.
59474         Correct the description of this function.
59475         Include <assert.h>.
59476         Add an assertion and a test driver.
59477         This fixes a bug introduced on 2004-07-02.
59478         Andreas Schwab reported the resulting failure of cp --parents:
59479         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
59480
59481 2005-03-21  Jim Meyering  <jim@meyering.net>
59482
59483         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
59484         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
59485
59486 2005-03-21  Jim Meyering  <jim@meyering.net>
59487         and  Paul Eggert  <eggert@cs.ucla.edu>
59488
59489         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
59490         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
59491         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
59492         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
59493         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
59494         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
59495         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
59496         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
59497         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
59498         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
59499         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
59500         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
59501         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
59502         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
59503         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
59504         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
59505         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
59506         for these modules.
59507
59508 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
59509
59510         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
59511         (which shouldn't happen), generate nothing instead of returning 0
59512         immediately, so that nstrftime (NULL, ...) doesn't return 0.
59513
59514 2005-03-16  Bruno Haible  <bruno@clisp.org>
59515
59516         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
59517         HAVE_LONGLONG_64BIT.
59518
59519 2005-03-16  Bruno Haible  <bruno@clisp.org>
59520
59521         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
59522         HAVE_LONGLONG_64BIT.
59523
59524 2005-03-16  Bruno Haible  <bruno@clisp.org>
59525
59526         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
59527         HAVE_LONGLONG_64BIT.
59528
59529 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
59530
59531         * lib/strftime.c (my_strftime): Prepend space to format so that we can
59532         reliably distinguish strftime failure from empty output on POSIX
59533         hosts.
59534
59535 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
59536
59537         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
59538         (iconv_string): Don't guess a size-zero buffer, as that might cause
59539         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
59540         result would be 'too large', where 'too large' is (heuristically)
59541         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
59542         overflow concerns.  This will prevent some unwanted malloc failures
59543         when the inputs are very large.
59544
59545 2005-03-15  Karl Berry  <karl@gnu.org>
59546
59547         * config/srclist.txt (config.rpath): from gettext.
59548         * config/config.rpath: update.
59549
59550 2005-03-15  Bruno Haible  <bruno@clisp.org>
59551
59552         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
59553         to 'negate'.
59554
59555         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
59556         variable.
59557
59558         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
59559         results.
59560
59561 2005-03-14  Simon Josefsson  <jas@extundo.com>
59562
59563         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
59564         <fx@gnu.org>.
59565
59566 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
59567
59568         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
59569         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
59570         intprops.h.
59571         * lib/strtol.c: Likewise.
59572
59573 2005-03-14  Jim Meyering  <jim@meyering.net>
59574
59575         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
59576         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
59577         to be nonzero so that we (and caller) can detect the difference
59578         between a valid zero-length expansion and an error return, even
59579         when the underlying strftime fails before writing anything into
59580         that location.
59581
59582 2005-03-14  Bruno Haible  <bruno@clisp.org>
59583
59584         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
59585         Update from GNU gettext 0.14.3.
59586
59587 2005-03-10  Jim Meyering  <jim@meyering.net>
59588
59589         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
59590
59591 2005-03-10  Jim Meyering  <jim@meyering.net>
59592
59593         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
59594         so that this module works on systems without fchdir.
59595
59596 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
59597
59598         Factor int-properties macros into a single file, except for
59599         glibc-related files.
59600         * lib/intprops.h: New file.
59601         * lib/getloadavg.c: Include it instead of limits.h.
59602         (INT_STRLEN_BOUND): Remove.
59603         * lib/human.c: Include intprops.h.
59604         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
59605         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
59606         302/1000.
59607         * lib/inttostr.h: Include intprops.h instead of limits.h.
59608         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
59609         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
59610         for consistency with intprops.h.
59611         (time_t_is_integer, twos_complement_arithmetic): Use them.
59612         * lib/sig2str.h: Include <signal.h>, intprops.h.
59613         (INT_STRLEN_BOUND): Remove.
59614         * lib/strftime.c (TYPE_SIGNED): Remove.
59615         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
59616         * lib/strtol.c: Adjust comments to match intprops.h.
59617         * lib/userspec.c: Include intprops.h.
59618         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
59619         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
59620         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
59621         instead of rolling our own expressions.
59622         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
59623
59624         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
59625         instead of int.
59626         (my_strftime): Do not mishandle years close to INT_MAX, by doing
59627         the right thing even if adding 1900 would overflow.  Similarly
59628         for tm_mon + 1 and tm_yday + 1.
59629         Make %Y always equivalent to %C%y, and similarly for %G and %g.
59630         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
59631         (DO_SIGNED_NUMBER): New macro.
59632         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
59633
59634 2005-03-07  Bruno Haible  <bruno@clisp.org>
59635
59636         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
59637
59638 2005-03-07  Bruno Haible  <bruno@clisp.org>
59639
59640         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
59641
59642 2005-03-04  Derek R. Price  <derek@ximbiot.com>
59643
59644         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
59645         (func_import): Only replace files via --import when they have actually
59646         changed.
59647
59648 2005-03-03  Derek R. Price  <derek@ximbiot.com>
59649
59650         * m4/mmap-anon.m4: New file.
59651         * m4/pagealign_alloc.m4: New file.
59652
59653 2005-03-03  Derek R. Price  <derek@ximbiot.com>
59654             Bruno Haible  <bruno@clisp.org>
59655
59656         * modules/pagealign_alloc: New file.
59657         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
59658
59659 2005-03-03  Derek R. Price  <derek@ximbiot.com>
59660             Bruno Haible  <bruno@clisp.org>
59661
59662         * lib/pagealign_alloc.h: New file.
59663         * lib/pagealign_alloc.c: New file.
59664
59665 2005-03-03  Bruno Haible  <bruno@clisp.org>
59666
59667         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
59668         Use an all-permissive copyright notice, recommended by RMS.
59669
59670 2005-03-02  Bruno Haible  <bruno@clisp.org>
59671
59672         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
59673         of AIX, the replacement has to be done only after <string.h> is
59674         included, therefore not in config.h. stpncpy.h does the replacement,
59675         and stpncpy.c uses it.
59676
59677 2005-03-02  Bruno Haible  <bruno@clisp.org>
59678
59679         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
59680         stpncpy.c uses it.
59681
59682 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
59683
59684         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
59685         The workaround isn't strictly needed for POSIX conformance, and
59686         it's too much of a pain to configure and maintain.  We'll ask
59687         people to fix their kernels instead.
59688         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
59689         (NANOSLEEP_BUG_WORKAROUND): Remove.
59690         (xnanosleep): Remove the workaround.
59691
59692 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
59693
59694         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
59695         Reported by Derek Price.
59696         (Include): Add "timespec.h".
59697
59698         * modules/xnanosleep (Depends-on): Remove gethrxtime.
59699
59700 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
59701
59702         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
59703         to detect nanosleep bug.
59704
59705 2005-03-01  Bruno Haible  <bruno@clisp.org>
59706
59707         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
59708
59709 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
59710
59711         * modules/gethrxtime: New file.
59712         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
59713         (Depends-on): Add gethrxtime.
59714         (configure.ac): Add gl_XNANOSLEEP.
59715         (Makefile.am): Remove lib_SOURCES line.
59716
59717 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
59718
59719         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
59720         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
59721
59722 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
59723
59724         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
59725         * lib/timespec.h (gettime): Return void, since it always
59726         succeeds now.  All uses changed.
59727         * lib/gettime.c (gettime) Likewise.
59728         [HAVE_NANOTIME]: Prefer nanotime.
59729         Assume gettimeofday succeeds, as POSIX requires.
59730         Assime time () succeeds, since other code already does.
59731         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
59732         (timespec_subtract): Remove.
59733         (NANOSLEEP_BUG_WORKAROUND): New constant.
59734         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
59735         things considerably.  Use it only on GNU/Linux hosts, since the
59736         workaround shouldn't be needed elsewhere.
59737
59738 2005-02-24  Bruno Haible  <bruno@clisp.org>
59739
59740         * modules/gettext (Files): Add m4/glibc2.m4.
59741
59742 2005-02-24  Bruno Haible  <bruno@clisp.org>
59743
59744         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
59745         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
59746         * m4/progtest.m4:
59747         Update from GNU gettext 0.14.2.
59748         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
59749
59750 2005-02-24  Bruno Haible  <bruno@clisp.org>
59751
59752         * lib/localcharset.c: Update from GNU gettext 0.14.2.
59753         * lib/config.charset: Update from GNU gettext 0.14.2.
59754
59755 2005-02-24  Bruno Haible  <bruno@clisp.org>
59756
59757         * lib/gettext.h: Update from GNU gettext 0.14.2.
59758
59759 2005-02-23  Simon Josefsson  <jas@extundo.com>
59760
59761         * m4/iconvme.m4: New file.
59762
59763 2005-02-23  Jim Meyering  <jim@meyering.net>
59764
59765         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
59766         change.
59767         Thanks to Bruno Haible for catching it.
59768
59769 2005-02-22  Simon Josefsson  <jas@extundo.com>
59770
59771         * modules/iconvme: New file.
59772
59773         * MODULES.html.sh: Add iconvme.
59774
59775 2005-02-22  Simon Josefsson  <jas@extundo.com>
59776
59777         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
59778
59779 2005-02-22  Simon Josefsson  <jas@extundo.com>
59780
59781         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
59782
59783 2005-02-22  Jim Meyering  <jim@meyering.net>
59784
59785         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
59786         s/ifndef/ifdef/.
59787
59788 2005-02-20  Neil Conway  <neilc@samurai.com>
59789
59790         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
59791         returned by OSX/Darwin if the specified buffer is not large
59792         enough for the hostname.
59793
59794 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
59795
59796         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
59797         pass it to _help, otherwise the latter coredumps trying to
59798         dereference state.root_argp.
59799
59800 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
59801
59802         * modules/chdir-long (Depends-on): Add memrchr.
59803         * modules/memrchr (Files): Add lib/memrchr.h.
59804         (Include): "memrchr.h".
59805
59806 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
59807
59808         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
59809
59810 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
59811
59812         * lib/memrchr.h: New file.
59813         * lib/chdir-long.c: Include it.
59814         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
59815         Don't bother including stddef.h.
59816
59817 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
59818
59819         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
59820         inclusion.
59821         Include <sys/types.h>, for dev_t.
59822         (ME_DUMMY, ME_REMOTE): Move from here....
59823         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
59824         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
59825         Dmitry V. Levin.
59826         Include mountlist.h first, to test the interface.
59827
59828 2005-01-29  Bruno Haible  <bruno@clisp.org>
59829
59830         * lib/progname.c (program_name): Initialize.
59831         Needed when linking statically on MacOS X.
59832
59833 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
59834
59835         Sync from coreutils.
59836         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
59837         (Depends-on): Add c-strtod.
59838         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
59839
59840 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
59841
59842         Sync from coreutils.
59843         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
59844
59845         Remove files that are specific to coreutils.
59846         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
59847
59848 2005-01-28  Bruno Haible  <bruno@clisp.org>
59849
59850         * modules/javacomp: New file.
59851         * MODULES.html.sh (Java): Add javacomp.
59852
59853 2005-01-28  Bruno Haible  <bruno@clisp.org>
59854
59855         * m4/javacomp.m4: New file, from GNU gettext.
59856
59857 2005-01-28  Bruno Haible  <bruno@clisp.org>
59858
59859         * lib/javacomp.sh.in: New file, from GNU gettext.
59860         * lib/javacomp.h: New file, from GNU gettext.
59861         * lib/javacomp.c: New file, from GNU gettext.
59862
59863 2005-01-26  Simon Josefsson  <jas@extundo.com>
59864
59865         * lib/gai_strerror.c: Use GPL in header.
59866
59867 2005-01-26  Bruno Haible  <bruno@clisp.org>
59868
59869         * modules/javaexec: New file.
59870         * MODULES.html.sh (Java): Add javaexec.
59871
59872 2005-01-26  Bruno Haible  <bruno@clisp.org>
59873
59874         * m4/javaexec.m4: New file, from GNU gettext.
59875
59876 2005-01-26  Bruno Haible  <bruno@clisp.org>
59877
59878         * lib/javaexec.sh.in: New file, from GNU gettext.
59879         * lib/javaexec.h: New file, from GNU gettext.
59880         * lib/javaexec.c: New file, from GNU gettext.
59881
59882 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
59883
59884         * modules/lchown (Depends-on): Remove lchown.h
59885
59886 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
59887
59888         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
59889         must be defined if the header file was not found, in order
59890         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
59891
59892 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
59893
59894         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
59895         initializers for struct pentry_state.
59896         (__argp_error): Check return value of __asprintf
59897         (__argp_failure): Translate error message
59898
59899         * lib/argp-parse.c: Removed braces around the expansion of N_()
59900
59901 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
59902
59903         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
59904         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
59905         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
59906         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
59907         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
59908         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
59909         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
59910         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
59911         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
59912         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
59913         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
59914         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
59915         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
59916         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
59917         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
59918         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
59919         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
59920         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
59921         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
59922         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
59923         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
59924         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
59925         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
59926         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
59927         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
59928         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
59929         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
59930         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
59931         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
59932         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
59933         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
59934         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
59935         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
59936         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
59937         xstrtol.m4, xstrtoumax.m4, yesno.m4:
59938         Use an all-permissive copyright notice, recommended by RMS.
59939
59940 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
59941
59942         * modules/chdir-long (Depends-on): Remove mempcpy.
59943
59944 2005-01-21  Jim Meyering  <jim@meyering.net>
59945
59946         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
59947         same value as for Solaris 9.
59948
59949         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
59950         component length.  This included changing the parameter to be
59951         of type `char *' rather than `char const *'.
59952         * lib/chdir-long.h (chdir_long): Update prototype.
59953
59954         * lib/openat.c (fdopendir, fstatat): New functions.
59955         * lib/openat.h: Include headers required for use of DIR and struct
59956         stat.
59957         [AT_SYMLINK_NOFOLLOW]: Define.
59958         (fdopendir, fstatat): Add prototypes.
59959
59960 2005-01-21  Bruno Haible  <bruno@clisp.org>
59961
59962         * modules/classpath: New file.
59963         * MODULES.html.sh (Java): Add classpath.
59964
59965 2005-01-21  Bruno Haible  <bruno@clisp.org>
59966
59967         * lib/classpath.h: New file, from GNU gettext.
59968         * lib/classpath.c: New file, from GNU gettext.
59969
59970 2005-01-20  Simon Josefsson  <jas@extundo.com>
59971
59972         * modules/version-etc-fsf: New file.
59973
59974 2005-01-20  Simon Josefsson  <jas@extundo.com>
59975
59976         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
59977         * lib/version-etc.c: Remove version_etc_copyright.
59978         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
59979         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
59980
59981 2005-01-20  Simon Josefsson  <jas@extundo.com>
59982
59983         * lib/base64.h (isbase64): Add.
59984
59985         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
59986         using a unsigned prototype, don't inline.
59987         (base64_decode): Use it.
59988
59989 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
59990
59991         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
59992         it.
59993
59994 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
59995
59996         * lib/save-cwd.c (save_cwd): Remove code to support the case
59997         where fchdir is missing or flaky.
59998
59999 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
60000
60001         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
60002
60003 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
60004
60005         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
60006         AC_LIBSOURCES now does this.
60007         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
60008         with new ullong_max module.
60009
60010 2005-01-19  Bruno Haible  <bruno@clisp.org>
60011
60012         * modules/sh-quote: New file.
60013         * MODULES.html.sh (Executing programs): Add sh-quote.
60014
60015 2005-01-19  Bruno Haible  <bruno@clisp.org>
60016
60017         * lib/sh-quote.h: New file, from GNU gettext.
60018         * lib/sh-quote.c: New file, from GNU gettext.
60019
60020 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
60021
60022         Merge from coreutils.
60023         * m4/ullong_max.m4: New file.
60024         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
60025         (gl_MACROS): Assume localeconv exists.
60026
60027 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
60028
60029         Merge changes from coreutils, as described below in several
60030         changelogs dated today.
60031
60032         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
60033         (O_DIRECTORY): Remove; not needed here, since "." must be
60034         a directory.  All uses removed.
60035         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
60036         universal on Suns, and we also need to test for IRIX.
60037         Revamp code to use 'if' rather than '#if'.
60038         Avoid unnecessary comparison of cwd->desc to 0.
60039
60040         * lib/utimens.c (futimens): Robustify the previous patch, by checking
60041         for known valid error numbers rather than observed invalid ones.
60042
60043 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
60044
60045         * modules/ullong_max: New file.
60046
60047         * modules/chdir-long, modules/openat: New files.
60048         * modules/save-cwd (Depends-on): Depend on chdir-long.
60049         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
60050
60051 2005-01-18  Jim Meyering  <jim@meyering.net>
60052
60053         Merge from coreutils.
60054         * m4/chdir-long.m4, m4/openat.m4: New files.
60055         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
60056         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
60057         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
60058         is sane and DOES follow symlinks.  Besides, testing 20 different
60059         systems found no broken chown implementations.
60060         Prompted by a change in rsync's copy of this macro.
60061         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
60062
60063         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
60064
60065         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
60066         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
60067         NULL-means-set-to-current-time semantics.
60068         Remove temporary file immediately, rather than waiting
60069         for configure's at-exit trap code to do it.
60070
60071 2005-01-18  Jim Meyering  <jim@meyering.net>
60072
60073         * lib/version-etc.c (version_etc_copyright): Update copyright date.
60074
60075         * lib/utimens.c (futimens): Account for the fact that futimes
60076         can also fail with errno == ENOSYS or errno == ENOENT.
60077         Patch from Dmitry V. Levin.
60078
60079         Change the name of the robust chdir function from chdir to chdir_long.
60080         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
60081         (restore_cwd): Use chdir_long, not chdir.
60082         * lib/chdir-long.c: Renamed from chdir.c.
60083         * lib/chdir-long.h: Renamed from chdir.h.
60084         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
60085         Hurd.
60086
60087 2005-01-18  Bruno Haible  <bruno@clisp.org>
60088
60089         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
60090         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
60091         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
60092         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
60093         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
60094         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
60095         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
60096         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
60097         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
60098         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
60099         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
60100         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
60101         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
60102         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
60103         Use an all-permissive copyright notice, recommended by RMS.
60104
60105 2005-01-18  Bob Proulx  <bob@proulx.com>
60106
60107         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
60108         simplify offsetof() macro construct to avoid compile failure with
60109         native HP-UX 11.0 ANSI C compiler.
60110
60111 2005-01-17  Bruno Haible  <bruno@clisp.org>
60112
60113         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
60114         redundant because stpncpy.m4 takes care of it.
60115
60116 2005-01-17  Bruno Haible  <bruno@clisp.org>
60117
60118         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
60119
60120 2005-01-17  Bruno Haible  <bruno@clisp.org>
60121
60122         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
60123         used.
60124
60125 2005-01-17  Bruno Haible  <bruno@clisp.org>
60126
60127         * lib/fwriteerror.h (fwriteerror): Change specification to include
60128         fclose.
60129         * lib/fwriteerror.c: Include <stdbool.h>.
60130         (fwriteerror): At the end, close the file stream. Record whether
60131         stdout was already closed.
60132
60133 2005-01-17  Bruno Haible  <bruno@clisp.org>
60134
60135         * lib/execute.c (environ): Declare if needed.
60136         * lib/pipe.c (environ): Likewise.
60137         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
60138
60139 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
60140
60141         * modules/argp: Depend on vsnprintf
60142
60143 2005-01-10  Jim Meyering  <jim@meyering.net>
60144
60145         * modules/closeout (Depends-on): Add atexit.
60146
60147 2005-01-06  Bruno Haible  <bruno@clisp.org>
60148
60149         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
60150
60151 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
60152
60153         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
60154         definitions to be after all include files, to avoid collisions.
60155         Problem reported by Bob Proulx.
60156
60157 2005-01-04  Jim Meyering  <jim@meyering.net>
60158
60159         Changes imported from coreutils.
60160         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
60161         as the mkstemp template, use a temporary directory and an
60162         8.3-friendly template to avoid trouble on systems like DJGPP.
60163         Reported by Juan M. Guerrero via Stepan Kasal.
60164         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
60165         close. Remove the temporary directory right away, rather than waiting
60166         for configure's at-exit trap code to do it.
60167         Suggestion from Stepan Kasal.
60168
60169 2005-01-01  Simon Josefsson  <jas@extundo.com>
60170
60171         * gnulib-tool: Print #include directives when --import'ing.
60172
60173 2004-12-28  Simon Josefsson  <jas@extundo.com>
60174
60175         * tests/test-base64.c: Include required header files.  Remove
60176         unused variables.
60177
60178 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
60179
60180         * modules/error (Depends-on): Remove gettext.
60181
60182 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
60183
60184         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
60185         not needed.  This removes a dependency on the gettext module.
60186         [defined _LIBC]: Do not include <libintl.h>; not needed.
60187
60188 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
60189
60190         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
60191         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
60192
60193 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
60194
60195         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
60196         HAVE_DECL_STRTOLD.
60197
60198 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
60199
60200         * modules/getdate (Depends-on): Remove alloca-opt.
60201
60202 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
60203
60204         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
60205
60206 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
60207
60208         * lib/argp-parse.c: Include <stddef.h>.
60209         (alignof, alignto): New macros.
60210         (parser_init): Don't assume that void * is aligned sufficiently
60211         for struct option.
60212
60213         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
60214         need to extend the stack.
60215         (YYINITDEPTH): New macro, so that the initial stack isn't overly
60216         large.
60217
60218 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
60219
60220         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
60221
60222 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
60223
60224         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
60225         (2004-10-24) change.  Apparently this was a false alarm.
60226
60227         * modules/getdate: Depend on alloca-opt, not alloca.
60228
60229 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
60230
60231         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
60232         Remove now-obsolete comment about AIX.
60233         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
60234         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
60235         (YYMAXDEPTH): New macro.
60236
60237 2004-12-18  Simon Josefsson  <jas@extundo.com>
60238
60239         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
60240
60241 2004-12-18  Bruno Haible  <bruno@clisp.org>
60242
60243         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
60244
60245 2004-12-18  Bruno Haible  <bruno@clisp.org>
60246
60247         * lib/fatal-signal.c (fatal_signals): Make non-const.
60248         (init_fatal_signals): New function.
60249         (uninstall_handlers, install_handlers): Ignore signals that were set to
60250         SIG_IGN.
60251         (at_fatal_signal): Call init_fatal_signals.
60252         (init_fatal_signal_set): Likewise. Ignore signals that were set to
60253         SIG_IGN.
60254         Reported by Paul Eggert.
60255
60256 2004-12-18  Bruno Haible  <bruno@clisp.org>
60257
60258         * doc/alloca.texi: New file.
60259         * doc/alloca-opt.texi: New file.
60260
60261 2004-12-17  Jim Meyering  <jim@meyering.net>
60262
60263         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
60264         Otherwise, install-sh could exit with improper exit status when
60265         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
60266
60267 2004-12-16  Simon Josefsson  <jas@extundo.com>
60268
60269         * tests/test-base64.c: Add license.
60270
60271 2004-12-15  Stepan Kasal  <address@hidden>
60272
60273         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
60274
60275 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
60276
60277         * modules/getcwd (Files): Add m4/d-ino.m4.
60278         Suggested by Mark D. Baushke.
60279
60280 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
60281
60282         * lib/getdate.y (textint): New member "negative".
60283         (time_zone_hhmm): New function.
60284         Expect 14 shift-reduce conflicts, not 13.
60285         (o_colon_minutes): New rule.
60286         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
60287         (yylex): Set the "negative" member of signed numbers.
60288
60289 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
60290
60291         * doc/getdate.texi (Time of day items, Time zone items):
60292         Describe new formats +00:00, UTC+00:00.
60293
60294 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
60295
60296         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
60297         spurious "-l"s.  Problem reported by Stepan Kasal.
60298
60299 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
60300
60301         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
60302         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
60303
60304 2004-12-04  Simon Josefsson  <jas@extundo.com>
60305
60306         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
60307         Vandoorselaere <yoann@prelude-ids.org>.
60308
60309 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
60310
60311         Changes imported from coreutils.
60312         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
60313         exist.
60314         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
60315
60316 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
60317
60318         Changes imported from coreutils.
60319         * lib/hard-locale.c: Assume <locale.h> exists.
60320         Include "strdup.h".
60321         (GLIBC_VERSION): New macro.
60322         (hard_locale): Assume setlocale exists.
60323         Rewrite to avoid #ifdef.
60324         Use strdup rather than malloc + strcpy.
60325         * lib/human.c: Assume <locale.h> exists.
60326         (human_readable): Assume localeconv exists.
60327
60328 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
60329
60330         * modules/hard-locale (Depends-on): Add strdup.
60331
60332 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
60333
60334         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
60335         convert T2, not T.  (Imported from libc.)
60336
60337 2004-11-30  Simon Josefsson  <jas@extundo.com>
60338
60339         * modules/restrict (License): Change to LGPL.
60340
60341 2004-11-30  Simon Josefsson  <jas@extundo.com>
60342
60343         * m4/restrict.m4: Add copyright and copying conditions.
60344
60345 2004-11-30  Simon Josefsson  <jas@extundo.com>
60346
60347         * m4/base64.m4: New file.
60348
60349 2004-11-30  Simon Josefsson  <jas@extundo.com>
60350
60351         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
60352         base64.
60353
60354         * tests/test-base64.c: New file.
60355
60356         * modules/base64: New file.
60357
60358 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
60359
60360         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
60361         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
60362
60363         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
60364
60365 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
60366
60367         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
60368         (__getcwd.c): Don't restore errno; glibc doesn't.
60369         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
60370         first, falling back to our code only if its results look suspicious.
60371         Ensure that the resulting buffer is only as large as necessary.
60372
60373         * lib/readutmp.c: Include readutmp.h first.
60374         Include <errno.h>, since readutmp.h no longer does that.
60375         * lib/readutmp.h: Don't include <errno.h>,
60376         <sys/param.h>, <time.h>; not needed to establish interface.
60377         (errno): Remove decl.
60378         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
60379         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
60380         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
60381
60382 2004-11-28  Simon Josefsson  <jas@extundo.com>
60383
60384         * lib/base64.h, base64.c: New file.
60385
60386 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
60387
60388         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
60389
60390 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
60391
60392         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
60393         (Depends-on): Remove pathmax, same.  Add mempcpy.
60394         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
60395         (Makefile.am): Append getcwd.h to lib_SOURCES.
60396         (Include): Add getcwd.h.
60397         (Maintainer): Change from Jim Meyering to "all, glibc",
60398         since getdate now uses intended-for-glibc code.
60399         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
60400         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
60401
60402 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
60403
60404         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
60405         HP's ANSI C compiler.
60406         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
60407         Declaring int functions causes warnings on some modern systems and
60408         shouldn't be needed to compile on ancient ones.
60409         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
60410         defined.
60411
60412         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
60413         with the following changes.
60414         (__set_errno): Parenthesize properly.
60415         Include <stdbool.h>.
60416         (MIN, MAX, MATCHING_INO): New macros.
60417         (__getcwd): Define with prototype, not K&R form.
60418         Use heuristics to allocate default buffer on stack if possible.
60419         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
60420         behavior, and to avoid the PATH_MAX limit when computing
60421         ../../../../...
60422         Use MATCHING_INO to compare inode number to file.
60423         Check for arithmetic overflow in size calculations.
60424         Fix bug in reallocation of dot array that caused getcwd to fail
60425         on directories nested deeper than 75.
60426         Be more careful about saving errno on error.
60427         Do not use realloc; use only free+malloc, as this is a bit
60428         more flexible and avoids a needless copy operation.
60429         Do not inspect st_dev and st_ino for symbolic links; POSIX
60430         doesn't specify the latter.
60431         Check for closedir errors.
60432         Avoid needless casts.
60433         Use "#ifdef weak_alias" around weak_alias, to be like other
60434         glibc code.
60435         The following changes to getcwd.c have effect only when used in
60436         gnulib; they have no effect inside glibc proper.
60437         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
60438         as alloca isn't used.
60439         (alloca, __alloca): Likewise.
60440         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
60441         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
60442         unconditionally, as gnulib assumes C89 or better.
60443         Do not include <sys/param.h>.
60444         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
60445         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
60446         better.
60447         (NULL) [!defined NULL]: Remove; we assume C89 or better.
60448         Include <dirent.h> in a way that is compatible with modern Autoconf.
60449         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
60450         New macros, if not already defined.
60451         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
60452         Use "_LIBC", not "defined _LIBC", for consistency.
60453         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
60454         a mempcpy module.
60455         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
60456         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
60457         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
60458         credit only to Jim Meyering and adjust the copyright dates.
60459         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
60460         <stdlib.h>, <unistd.h>, "pathmax.h".
60461         Instead, include "xgetcwd.h" (first) and "getcwd.h".
60462         (INITIAL_BUFFER_SIZE): Remove.
60463         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
60464
60465 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
60466
60467         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
60468         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
60469         Use the _ONCE methods, for efficiency.
60470         Check for fcntl.h.  In test program, include <errno.h>
60471         and <fcntl.h> if available.  Remove old K&R cruft from
60472         test program.  Check for common errors in GNU/Linux,
60473         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
60474         don't do AC_LIBOBJ, as that's getcwd.m4's job.
60475         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
60476         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
60477         name accordingly.
60478         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
60479         accommodate new getcwd.c.
60480         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
60481         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
60482         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
60483         that's all we need now.
60484
60485 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
60486
60487         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
60488         argp-parse.c depends on getopt internals, that means we should
60489         always use our getopt, to be on the safe side.
60490         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
60491         order not to spoil the result of an eventual previous invocation
60492         of gl_GETOPT_SUBSTITUTE.
60493
60494 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
60495
60496         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
60497         redefinition warnings. To avoid them, include the defines
60498         in `#if !defined __need_getopt ... #endif'. The only place
60499         where __getopt_argv_const is used is in definitions
60500         of getopt_long and getopt_long_only below, which are as well
60501         protected by `#ifndef __need_getopt'.
60502         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
60503         __need_getopt after including <stdio.h> and <unistd.h> These
60504         headers might have defined it.
60505
60506 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
60507
60508         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
60509
60510 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
60511
60512         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
60513         (futimens): New function, which uses futimes if available.
60514         (futimens, utimens): Support timespec==NULL, with same semantics
60515         as utime and utimens.
60516         * lib/utimens.h (futimens): New decl.
60517
60518 2004-11-23  Jim Meyering  <jim@meyering.net>
60519
60520         * lib/getopt_.h: Remove trailing blanks.
60521
60522 2004-11-23  Jim Meyering  <jim@meyering.net>
60523
60524         * lib/__fpending.c: Add comment.
60525
60526 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
60527
60528         * modules/canonicalize (Depends-on): Add xreadlink.
60529         Problem reported by James Youngman.
60530
60531 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
60532
60533         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
60534         New macros.
60535         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
60536         optopt): Use them instead of invoking ## directly; otherwise, the
60537         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
60538
60539 2004-11-19  Bruno Haible  <bruno@clisp.org>
60540
60541         * lib/strtok_r.c: Move comments from here...
60542         * lib/strtok_r.h: ... to here.
60543
60544 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
60545
60546         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
60547         implementations that mishandle size_t overflow.
60548
60549 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
60550
60551         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
60552         might fail.  Problem reported by Yoann Vandoorselaere.
60553         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
60554         implementations that mishandle size_t overflow.
60555
60556 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
60557
60558         * modules/canon-host (Depends-on): Add strdup.
60559
60560 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
60561
60562         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
60563
60564 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
60565
60566         * lib/canon-host.c: Include "strdup.h".
60567         (canon_host): Use getaddrinfo if available, so that IPv6 works.
60568         Use strdup instead of malloc/strcpy to duplicate strings.
60569
60570         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
60571         (human_space_before_unit): New constant.
60572         * lib/human.c (human_readable): Support it.
60573
60574         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
60575         (xgetcwd): Set errno correctly when failing.
60576         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
60577         the failure is actually due to a PATH_MAX problem.
60578
60579         Further getopt changes to make it more likely that glibc will
60580         buy the changes back.
60581         * lib/getopt.c (POSIXLY_CORRECT): New constant.
60582         (getopt): Use it, so to preserve glibc semantic
60583         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
60584         when compiling for libc.
60585         * lib/getopt_.h (__getopt_argv_const): Bring it back.
60586         (getopt_long, getopt_long_only): Use it.
60587
60588         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
60589         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
60590         (getopt): Argv is now char * const *, as per standard.
60591         (_getopt_internal_r, _getopt_internal): Argv is now char **,
60592         not char *__getopt_argv_const *.
60593         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
60594         _getopt_long_only_r): Likewise.
60595         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
60596         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
60597         _getopt_long_r, _getopt_long_only_r): Likewise.
60598         * lib/getopt_.h (__getopt_argv_const): Remove.
60599         (getopt): Argv is now char * const *, as per standard.
60600
60601         * lib/getdate.y (tORDINAL): New token.
60602         (day, relunit): Allow it for relative times.
60603         (relative_time_table): Use tORDINAL for ordinals.
60604
60605 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
60606
60607         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
60608         Document that "second" isn't allowed as an ordinal number.
60609
60610 2004-11-16  Jim Meyering  <jim@meyering.net>
60611
60612         * modules/closeout (Depends-on): Add fpending.
60613
60614 2004-11-15  Jim Meyering  <jim@meyering.net>
60615
60616         * lib/closeout.c: Include "__fpending.h" once again.
60617         Include <stdbool.h>.
60618         (close_stdout): Don't fail just because stdout was closed initially,
60619         since some programs don't write to stdout in the normal course of
60620         operation (other than --version and --help), and we don't want this
60621         function to make e.g. `touch file >&-' fail.
60622         But do fail if it was closed and someone has tried to write to it.
60623         E.g., `printf foo >&-' must fail.
60624
60625 2004-11-13  Jim Meyering  <jim@meyering.net>
60626
60627         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
60628
60629 2004-11-12  Simon Josefsson  <jas@extundo.com>
60630
60631         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
60632         small doc fix is still pending.
60633
60634 2004-11-11  Simon Josefsson  <jas@extundo.com>
60635
60636         * modules/strtok_r: New file.
60637
60638         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
60639         strtok_r.
60640
60641 2004-11-11  Simon Josefsson  <jas@extundo.com>
60642
60643         * m4/strtok_r.m4: New file.
60644
60645         * m4/getopt.m4: Replace opterr.
60646
60647 2004-11-11  Simon Josefsson  <jas@extundo.com>
60648
60649         * lib/strtok_r.h, strtok_r.c: New file.
60650
60651 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
60652
60653         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
60654         of replacing opterr, getopt, etc.  This should handle the
60655         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
60656
60657 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
60658
60659         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
60660         we can stop lying to compilers about the constness of argv when we
60661         are compiled outside glibc.
60662         (getopt, getopt_long, getopt_long_only): Use it.
60663         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
60664         _getopt_internal, getopt): Likewise.
60665         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
60666         _getopt_long_only_r): Likewise.
60667         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
60668         _getopt_long_r, _getopt_long_only_r): Likewise.
60669
60670         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
60671         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
60672         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
60673         the other external symbols.
60674         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
60675         declaration, since the above renaming now works around collisions.
60676
60677 2004-11-11  Jim Meyering  <jim@meyering.net>
60678
60679         * lib/linebreak.c: Remove trailing blanks.
60680         * lib/alloca_.h: Likewise.
60681         * lib/acosl.c: Likewise.
60682         * lib/euidaccess.c: Likewise.
60683         * lib/allocsa.h: Likewise.
60684
60685 2004-11-10  Simon Josefsson  <jas@extundo.com>
60686
60687         * m4/getaddrinfo.m4: New file.
60688
60689 2004-11-10  Simon Josefsson  <jas@extundo.com>
60690
60691         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
60692
60693 2004-11-10  Simon Josefsson  <jas@extundo.com>
60694
60695         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
60696         getaddrinfo.
60697
60698         * modules/getaddrinfo: New file.
60699
60700 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
60701
60702         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
60703
60704 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
60705
60706         * lib/mktime.c (SHR): New macro, which is a portable
60707         substitute for >> that should work even on Crays.
60708         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
60709         Problem reported by Mark D. Baushke in
60710         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
60711         * lib/getdate.y (SHR): Likewise.
60712         (tm_diff): Use it.
60713         * lib/strftime.c (SHR): Likewise.
60714         (tm_diff): Use it.
60715         * lib/quotearg.c (struct quoting_options): Use unsigned int for
60716         quote_these_too, so that right shifts are well defined.  All uses
60717         changed.
60718
60719 2004-11-10  Jim Meyering  <jim@meyering.net>
60720
60721         Ensure that no close failure goes unreported.
60722         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
60723         return early when it seems there's nothing to flush.
60724         Don't include __fpending.h.
60725
60726 2004-11-10  Jim Meyering  <jim@meyering.net>
60727
60728         * modules/closeout (Depends-on): Remove fpending.
60729
60730 2004-11-10  Jim Meyering  <jim@meyering.net>
60731
60732         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
60733
60734 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
60735
60736         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
60737         gl_FUNC_STRFTIME.
60738         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
60739         and AC_REQUIRE when possible, to avoid duplicate checks.
60740         Check for <wchar.h>.
60741
60742 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
60743
60744         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
60745
60746 2004-11-09  Bruno Haible  <bruno@clisp.org>
60747
60748         * m4/sockpfaf.m4: New file.
60749
60750 2004-11-05  Bruno Haible  <bruno@clisp.org>
60751
60752         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
60753         Reported by Mark D. Baushke <mdb@cvshome.org>.
60754
60755 2004-11-04  Bruno Haible  <bruno@clisp.org>
60756
60757         2004-09-11  Bruno Haible  <bruno@clisp.org>
60758                 * allocsa.valgrind: New file.
60759         2004-02-06  Bruno Haible  <bruno@clisp.org>
60760                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
60761                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
60762                 Reported by Christopher Seip <chris.seip@hp.com>.
60763
60764 2004-11-04  Bruno Haible  <bruno@clisp.org>
60765
60766         * modules/allocsa (Files): Add lib/allocsa.valgrind.
60767         (Makefile.am): Distribute it.
60768
60769 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
60770
60771         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
60772         with errno == ERANGE if the buffer is too small.
60773         Problem reported by Mark D. Baushke.
60774
60775 2004-11-03  Albert Chin  <china@thewrittenword.com>
60776             Paul Eggert  <eggert@cs.ucla.edu>
60777
60778         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
60779         equivalent, substitute $ac_type for equivalent type rather than
60780         blindly using uint32_t *always* which won't work if uint32_t is not
60781         available.  Define _UINT32_T to work around typedef of uint32_t if
60782         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
60783         2.5.1.
60784
60785 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
60786
60787         * m4/jm-macros.m4: Sync from coreutils.
60788         (gl_MACROS): Check for mbrlen, for pathchk.
60789         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
60790
60791 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
60792
60793         * lib/xreadlink.c (MAXSIZE): New macro.
60794         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
60795         size does not exceed MAXSIZE.  Avoid cast.
60796         As suggested by Mark D. Baushke in
60797         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
60798         if readlink fails with buffer size just under MAXSIZE, try again
60799         with MAXSIZE.
60800
60801 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
60802
60803         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
60804
60805 2004-11-02  Derek R. Price  <derek@ximbiot.com>
60806         and  Paul Eggert  <eggert@cs.ucla.edu>
60807
60808         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
60809         (get_date): Overparenthesize to avoid GCC warning.
60810
60811 2004-11-02  Bruno Haible  <bruno@clisp.org>
60812
60813         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
60814         returns void.
60815
60816 2004-11-02  Bruno Haible  <bruno@clisp.org>
60817
60818         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
60819         function returns void.
60820
60821 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
60822
60823         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
60824         fflush_unlocked, flockfile, funlockfile, funlockfile,
60825         fputs_unlocked, putc_unlocked.
60826
60827 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
60828
60829         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
60830         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
60831         already declared.
60832
60833 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
60834
60835         * modules/getdate (Files): Add doc/getdate.texi.
60836         (Depends-on): Add setenv, xalloc.
60837
60838 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
60839
60840         * lib/getdate.y: Add support for TZ="foo" within a date string.
60841         Fix some bugs near time_t boundaries.  Reject dates with
60842         out-of-range components, e.g., "Sept 31".
60843         Include <stdlib.h>, "setenv.h", "xalloc.h".
60844         (ISDIGIT_LOCALE): Remove; unused.
60845         Note that the TZ and time functions used here are not reentrant.
60846         (mktime_ok, get_tz): New functions.
60847         (TZBUFSIZE): New constant.
60848         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
60849         This requires that we sometimes generate our own TZ="XXX..." setting.
60850
60851 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
60852
60853         * doc/getdate.texi: New file, from coreutils with modifications for
60854         the new TZ parsing.
60855
60856 2004-10-27  Derek R. Price  <derek@ximbiot.com>
60857
60858         * lib/mktime.c (not_equal_tm): Remove redundant check.
60859
60860 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
60861
60862         * modules/regex (lib_SOURCES): Add regex.c.
60863         Reported by James Youngman in
60864         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
60865
60866 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
60867
60868         * lib/getdate.y: Use Bison 1.875 features, and some minor
60869         code cleanups.  This change does not affect semantics.
60870         Don't include <stdlib.h>; no longer needed.
60871         Don't include unlocked-io.h; only the "#if TEST" code uses
60872         stdio, and performance isn't crucial there.
60873         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
60874         Bison 1.875 features as described below.
60875         All uses of "PC." replaced by "pc->".
60876         (YYSTYPE): Add a forward declaration.
60877         (yylex, yyerror): Use full prototypes in forward decls.
60878         Use "%pure-parser" rather than obsolescent "%pure_parser".
60879         Use %parse-param and %lex-param instead of obsolescent
60880         YYPARSE_PARAM and YYLEX_PARAM.
60881         (meridian_table, month_and_day_table, time_units_table,
60882         relative_time_table, time_zone_table, military_table,
60883         lookup_zone, lookup_word, get_date):
60884         Use NULL instead of 0 where appropriate.
60885         (to_hour): Avoid abort (), to avoid a dependency on
60886         stdlib.h.
60887         (yyerror, yylex): Now accepts parser_control * arg.
60888         (main) [TEST]: Use '\0' rather than 0 for char.
60889
60890 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
60891
60892         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
60893
60894 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
60895
60896         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
60897         It's now the caller's responsibility to handle the case where
60898         !HAVE_GETPAGESIZE && !defined getpagesize.
60899
60900         * lib/mktime.c (leapyear): Arg is long int, not int.
60901
60902 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
60903
60904         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
60905
60906 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
60907
60908         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
60909         missing.  Problem reported by James Youngman.
60910
60911 2004-10-16  Simon Josefsson  <jas@extundo.com>
60912
60913         * gnulib-tool: Fix comments.  Fix parse problem.
60914         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
60915
60916 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
60917
60918         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
60919         implementation of getopt_long.  Problem reported by Alexander Taler in:
60920         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
60921
60922 2004-10-15  Bruno Haible  <bruno@clisp.org>
60923
60924         * gnulib-tool: Untabify. Initialize supplied_libname.
60925         (func_usage): More homogenous output.
60926         (func_modules_transitive_closure, func_modules_to_filelist,
60927         func_emit_lib_Makefile_am): New functions.
60928         (func_import): New function, extracted from big case statement. Use
60929         func_get_license, func_modules_transitive_closure,
60930         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
60931         opt_lgpl. Don't use test -a, as it's not portable.
60932         (func_create_testdir): Use func_modules_transitive_closure,
60933         func_modules_to_filelist, func_emit_lib_Makefile_am.
60934
60935 2004-10-15  Bruno Haible  <bruno@clisp.org>
60936
60937         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
60938
60939 2004-10-15  Bruno Haible  <bruno@clisp.org>
60940
60941         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
60942         the portions belonging to each module.
60943         Suggested by Derek Robert Price <derek@ximbiot.com>.
60944
60945 2004-10-12  Simon Josefsson  <jas@extundo.com>
60946
60947         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
60948         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
60949         to real functions.
60950
60951 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
60952
60953         * modules/vsnprintf: New file.
60954
60955 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
60956
60957         * m4/vsnprintf.m4: New file.
60958
60959 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
60960
60961         * lib/vsnprintf.h: New file.
60962         * lib/vsnprintf.c: New file.
60963
60964 2004-10-11  Bruno Haible  <bruno@clisp.org>
60965
60966         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
60967         vsnprintf.
60968
60969 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
60970
60971         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
60972
60973 2004-10-07  Bruno Haible  <bruno@clisp.org>
60974
60975         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
60976         fits into the provided buffer.
60977
60978 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
60979
60980         * lib/diacrit.c, diacrit.h: Add GPL notice.
60981
60982         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
60983         notice.
60984         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
60985         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
60986         This avoids a potential constant-folding bug.
60987
60988 2004-10-05  Bruno Haible  <bruno@clisp.org>
60989
60990         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
60991         for the declaration of strsep.
60992
60993 2004-10-05  Bruno Haible  <bruno@clisp.org>
60994
60995         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
60996
60997 2004-10-04  Simon Josefsson  <jas@extundo.com>
60998
60999         * modules/memmem: New file.
61000         * tests/test-memmem.c: New file.
61001         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
61002
61003 2004-10-04  Simon Josefsson  <jas@extundo.com>
61004
61005         * m4/memmem.m4: New file.
61006
61007 2004-10-04  Simon Josefsson  <jas@extundo.com>
61008
61009         * lib/memmem.h: New file.
61010         * lib/memmem.c: New file, taken from glibc.
61011
61012 2004-10-04  Simon Josefsson  <jas@extundo.com>
61013
61014         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
61015         '#ifdef USE_UNLOCKED_IO'.
61016
61017 2004-10-04  Simon Josefsson  <jas@extundo.com>
61018
61019         * config/srclist.txt: Add memmem from glibc.
61020
61021 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
61022
61023         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
61024
61025         * modules/argmatch, modules/argp, modules/closeout, modules/error,
61026         modules/exclude, modules/getdate, modules/getline,
61027         modules/getndelim2, modules/getpass, modules/getpass-gnu,
61028         modules/getusershell, modules/linebuffer, modules/md5,
61029         modules/mountlist, modules/posixtm, modules/readtokens,
61030         modules/readutmp, modules/regex, modules/sha1,
61031         modules/version-etc, modules/yesno:
61032         Remove dependency on unlocked-io.
61033
61034 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
61035
61036         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
61037
61038         * m4/unlocked-io.m4: Add copyright notice.
61039         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
61040
61041 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
61042
61043         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
61044         * lib/xmalloc.c (xmemdup): Likewise.
61045         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
61046         XFREE): Remove these long-obsolescent macros.
61047         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
61048         * lib/xstrdup.c: Remove.
61049
61050         * lib/regex.c (re_comp): Cast gettext return value to char *,
61051         Problem reported by Martin Neitzel via Mark D. Baushke.
61052
61053 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
61054
61055         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
61056         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
61057         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
61058         regex.c, sha1.c, version-etc.c, yesno.c:
61059         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
61060         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
61061         the includer's responsibility.
61062
61063         Sync from coreutils.
61064
61065         * lib/modechange.c (mode_compile): Don't decrement a pointer that
61066         points to the start of a string, as the C Standard says the
61067         resulting behavior is undefined.
61068
61069         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
61070         simple -> simple_backups, numbered_existing ->
61071         numbered_existing_backups, numbered -> numbered_backups
61072         to avoid shadowing problems.  All uses changed.
61073         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
61074         * lib/backupfile.c (check_extension, numbered_backup):
61075         Rename locals to avoid shadowing 'basename'.
61076         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
61077         once.
61078
61079         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
61080         * lib/.cvsignore: Add getopt.h.
61081
61082 2004-10-04  Bruno Haible  <bruno@clisp.org>
61083
61084         * modules/README: New file.
61085         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
61086         not a module.
61087
61088 2004-10-02  Jim Meyering  <jim@meyering.net>
61089
61090         * lib/dirfd.h, getpagesize.h: Add copyright notice.
61091
61092 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
61093
61094         * modules/strsep: New file.
61095
61096 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
61097
61098         * m4/strsep.m4: New file.
61099
61100 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
61101
61102         * lib/strsep.h: New file.
61103         * lib/strsep.c: New file.
61104
61105 2004-10-01  Simon Josefsson  <jas@extundo.com>
61106
61107         * lib/snprintf.c (snprintf): Handle size==0.
61108
61109 2004-10-01  Simon Josefsson  <jas@extundo.com>
61110             Bruno Haible  <bruno@clisp.org>
61111
61112         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
61113         (snprintf): Declare 'args'.
61114
61115 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
61116
61117         * lib/snprintf.c: Remove comments as to why each header is needed.
61118
61119 2004-10-01  Bruno Haible  <bruno@clisp.org>
61120
61121         * MODULES.html.sh: Add strsep.
61122
61123 2004-09-30  Simon Josefsson  <jas@extundo.com>
61124
61125         * modules/snprintf: New file.
61126
61127 2004-09-30  Simon Josefsson  <jas@extundo.com>
61128
61129         * m4/snprintf.m4: New file.
61130
61131 2004-09-30  Simon Josefsson  <jas@extundo.com>
61132
61133         * lib/snprintf.h, lib/snprintf.c: New files.
61134
61135 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
61136
61137         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
61138         (hol_entry_help): Never translate an empty string.
61139         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
61140         * lib/argp.h (OPTION_NO_TRANS): New option.
61141
61142 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
61143
61144         * modules/argp (Maintainer): Replace Simon Josefsson
61145         by Sergey Poznyakoff.
61146
61147 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
61148
61149         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
61150         changes merged back into glibc.
61151
61152 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
61153
61154         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
61155
61156 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
61157
61158         * lib/xvasprintf.c: Include xalloc.h.
61159         (xvasprintf): Use xalloc_die, not xmalloc_die.
61160
61161 2004-09-29  Bruno Haible  <bruno@clisp.org>
61162
61163         * modules/alloca-opt: New file, derived from modules/alloca.
61164         * modules/allocsa: Depend on alloca-opt instead of alloca.
61165         * modules/setenv: Likewise.
61166         * modules/vasnprintf: Likewise.
61167         * MODULES.html.sh: Add alloca-opt.
61168
61169 2004-09-28  Simon Josefsson  <jas@extundo.com>
61170
61171         * gnulib-tool: New parameter --lgpl, to asseert that modules are
61172         LGPL, and to replace license template from GPL to LGPL.
61173
61174 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
61175
61176         * modules/dummy: Change license to LGPL.
61177
61178 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
61179
61180         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
61181
61182 2004-09-24  Simon Josefsson  <jas@extundo.com>
61183
61184         * modules/minmax (License): Change from GPL to LGPL.
61185
61186 2004-09-23  Simon Josefsson  <jas@extundo.com>
61187
61188         * gnulib-tool (--import): Typo.
61189
61190 2004-09-23  Simon Josefsson  <jas@extundo.com>
61191
61192         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
61193
61194 2004-09-22  Bruno Haible  <bruno@clisp.org>
61195
61196         * modules/*: Add 'License' field.
61197         * gnulib-tool: Accept --extract-license option.
61198         (func_get_license): New function.
61199
61200 2004-09-21  Bruno Haible  <bruno@clisp.org>
61201
61202         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
61203         Reported by Simon Josefsson.
61204
61205 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
61206
61207         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
61208         gl_AC_TYPE_LONG_LONG.
61209
61210 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
61211
61212         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
61213
61214 2004-09-18  Simon Josefsson  <jas@extundo.com>
61215         and  Paul Eggert  <eggert@cs.ucla.edu>
61216
61217         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
61218         calls with autoreconf.  Define GL_LIB.
61219
61220 2004-09-14  Karl Berry  <karl@gnu.org>
61221
61222         * config/srclist.txt: unsync setenv.c, sigh.
61223
61224 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
61225
61226         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
61227         Problem reported by Bruno Haible in:
61228         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
61229
61230 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
61231
61232         * config/srclist.txt: Comment out argp-pvh.c.
61233
61234 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
61235
61236         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
61237         in case some system header has #define'd it.  Problem reported by
61238         Soeren D. Schulze in
61239         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
61240
61241 2004-09-09  Karl Berry  <karl@gnu.org>
61242
61243         * regex.[ch]: delete from the root.  These were supposed to be
61244                 synced with emacs cvs, but this has not happened for about
61245                 a year, and anyway nothing else uses emacs regex.[ch].
61246                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
61247                 lib/regex[.ch] is untouched.
61248
61249 2004-09-09  Bruno Haible  <bruno@clisp.org>
61250
61251         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
61252
61253 2004-09-09  Bruno Haible  <bruno@clisp.org>
61254
61255         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
61256         modifications.
61257         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
61258
61259 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
61260
61261         * modules/xvasprintf: New file.
61262         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
61263
61264 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
61265
61266         * lib/xvasprintf.h: New file.
61267         * lib/xvasprintf.c: New file.
61268         * lib/xasprintf.c: New file.
61269
61270 2004-09-08  Bruno Haible  <bruno@clisp.org>
61271
61272         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
61273
61274 2004-09-08  Bruno Haible  <bruno@clisp.org>
61275
61276         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
61277         length is > INT_MAX.
61278         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
61279         more.
61280
61281 2004-09-08  Bruno Haible  <bruno@clisp.org>
61282
61283         * lib/stdint_.h: New file, taken from GNU clisp.
61284
61285 2004-09-08  Bruno Haible  <bruno@clisp.org>
61286             Oskar Liljeblad  <oskar@osk.mine.nu>
61287
61288         * modules/stdint: New file.
61289         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
61290
61291 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
61292
61293         Import from coreutils.
61294         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
61295         strings on unbounded length.  alloca's performance benefits aren't
61296         that important here.
61297         (V_STRDUP): Remove.
61298         (parse_with_separator): New function, with most of the internals
61299         of the old parse_user_spec.  Allow user to omit both user and group,
61300         for compatibility with FreeBSD.
61301         Clone only the user name, not the entire spec.
61302         Do not set *uid, *gid unless entirely successful.
61303         Avoid memory leak in some failing cases.
61304         Fix regression for USER.GROUP reported by Dmitry V. Levin in
61305         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
61306         (parse_user_spec): Rewrite to use parse_with_separator.
61307
61308 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
61309
61310         * modules/userspec: Don't depend on alloca.
61311
61312 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
61313
61314         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
61315
61316 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
61317
61318         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
61319         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
61320         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
61321
61322 2004-08-16  Simon Josefsson  <jas@extundo.com>
61323
61324         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
61325         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
61326         Add --dry-run for --import.
61327         Let user provided command line parameters override configure.ac
61328         settings.
61329
61330 2004-08-12  Simon Josefsson  <jas@extundo.com>
61331
61332         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
61333         as discussed with Paul Eggert in threads rooted at
61334         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
61335         and
61336         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
61337         Before, the test was empty, and relied on ELIDE_CODE in source
61338         code.)
61339         (gl_PREREQ_GETOPT): New macro.
61340         (gl_GETOPT): Use them.
61341
61342 2004-08-12  Simon Josefsson  <jas@extundo.com>
61343
61344         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
61345         * lib/getopt_.h: Renamed from getopt.h.
61346
61347 2004-08-12  Simon Josefsson  <jas@extundo.com>
61348
61349         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
61350         Change default library name from libfoo to libgnu.
61351         Now, if you have a configure.ac that says:
61352                 gl_SOURCE_BASE(gl)
61353                 gl_M4_BASE(gl/m4)
61354                 gl_MODULES(error getopt etcetera)
61355                 gl_INIT
61356         you can import all you need by running:
61357                 ../gnulib/gnulib-tool --import
61358
61359         * modules/getopt (Files): Rename getopt.h to getopt_.h.
61360         (Makefile.am): Rewrite, use logic from argz.
61361         (Include): Use <getopt.h> instead of "getopt.h".
61362
61363 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
61364
61365         * modules/argp (Files): Add m4/unlocked-io.m4.
61366         (Depends-on): Add extensions.
61367
61368 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
61369
61370         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
61371         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
61372         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
61373         Check for program_invocation_name, program_invocation_short_name,
61374         flockfile, funlockfile, features.h, _getopt_long_only_r.
61375
61376 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
61377
61378         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
61379         its complicated substitute.
61380         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
61381         and program_invocation_name.
61382         (__argp_basename) [!_LIBC]: Remove; the only use was
61383         replaced by its body.
61384         (__argp_short_program_name): Change condition from
61385         !defined __argp_short_program_name to
61386         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
61387         to match argp-namefrob.h.
61388         (__argp_failure): Don't assume strerror_r returns char *.
61389         * lib/argp-parse.c (N_): Define unconditionally.
61390         (argp_default_options): Fill out initializers with 0 to avoid
61391         gcc warnings.
61392
61393 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
61394
61395         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
61396         getopt1.c.
61397
61398 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
61399
61400         Merge from coreutils.
61401
61402         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
61403
61404         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
61405         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
61406
61407 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
61408
61409         Merge from coreutils.
61410
61411         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
61412         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
61413         for Reliant Unix 5.43.
61414
61415         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
61416         (union fooround): Use uintmax_t, not long int.
61417         The rest is a merge from libc:
61418         [defined _LIBC]: Include <shlib-compat.h>.
61419         (_obstack) [defined _LIBC]: Remove after 2.3.4.
61420
61421         * lib/settime.c (settime): Recode to avoid warning with
61422         Sun Forte C 6U2.
61423
61424         * lib/strverscmp.c: Convert to UTF-8.
61425
61426 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
61427
61428         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
61429         m4/uintmax_t.m4.
61430
61431 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
61432
61433         * modules/xalloc-die: New file.
61434         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
61435
61436         * modules/md5 (Files): Add m4/uint32_t.m4.
61437         * modules/sha1: Renamed from modules/sha.
61438         (Files):
61439         Rename lib/sha.h to lib/sha1.h.
61440         Rename lib/sha.c to lib/sha1.c.
61441         Rename m4/sha.m4 to m4/sha1.m4.
61442         (lib_SOURCES): Likewise.
61443         (configure.ac): Rename gl_SHA to gl_SHA1.
61444         (Include): sha.h -> sha1.h.
61445
61446 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
61447
61448         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
61449         * m4/sha1.m4: Renamed from sha.m4.
61450         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
61451
61452 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
61453
61454         * lib/obstack.h (obstack_empty_p):
61455         Don't assume that chunk->contents is suitably aligned.
61456         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
61457         Likewise. Problem reported by Benno in
61458         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
61459
61460         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
61461         readable.  This could be improved further but it'd take some work.
61462
61463 2004-08-08  Simon Josefsson  <jas@extundo.com>
61464
61465         * modules/xgethostname (Depends-on): Remove exit and error (not
61466         used).
61467
61468         * modules/getpass-gnu: Add getpass.h.
61469         (Depends-on): Add stdbool.
61470         * modules/getpass: Add getpass.h.
61471
61472 2004-08-08  Simon Josefsson  <jas@extundo.com>
61473
61474         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
61475         Check getpass declaration.
61476
61477 2004-08-08  Simon Josefsson  <jas@extundo.com>
61478
61479         * lib/xgethostname.c: Don't include error.h (not used).
61480
61481         * lib/getpass.h: Add.
61482         * lib/getpass.c: Include getpass.h first.
61483
61484 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
61485
61486         * lib/xalloc-die.c: New file.
61487         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
61488         All uses removed.
61489         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
61490         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
61491         xalloc-die.c.
61492         (_, N_, xalloc_die): Move to xalloc-die.c.
61493         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
61494         so that we needn't mess with xalloc_msg_memory_exhausted.
61495
61496         * lib/sha1.h: Renamed from sha.h.
61497         (SHA1_H): Renamed from _SHA_H.
61498         (sha1_ctx): Renamed from sha_ctx.
61499         (sha1_init_ctx): Renamed from sha_init_ctx.
61500         (sha1_process_block): Renamed from sha_process_block.
61501         (sha1_process_bytes): Renamed from sha_process_bytes.
61502         (sha1_finish_ctx): Renamed from sha_finish_ctx.
61503         (sha1_read_ctx): Renamed from sha_read_ctx.
61504         (sha1_stream): Renamed from sha_stream.
61505         (sha1_buffer): Renamed from sha_buffer.
61506         * lib/sha1.c: Likewise; renamed from sha.c.
61507         Do not include <sys/types.h>.
61508         Include <stddef.h> rather than <stdlib.h>.
61509
61510 2004-08-08  Bruno Haible  <bruno@clisp.org>
61511
61512         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
61513         FILESYSTEM_PREFIX_LEN.
61514         * lib/progreloc.c: Likewise.
61515         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
61516
61517 2004-08-06  Simon Josefsson  <jas@extundo.com>
61518
61519         * modules/progname (Depends-on): Don't depend on stdbool.
61520
61521 2004-08-06  Simon Josefsson  <jas@extundo.com>
61522
61523         * modules/getsubopt: New file.
61524         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
61525         getsubopt.
61526
61527 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
61528
61529         More merge from coreutils.
61530
61531         * m4/utimens.m4, m4/utimecmp.m4: New files.
61532         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
61533         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
61534         prereq.m4, sha.m4: Import changes from coreutils.
61535
61536 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
61537
61538         More merge from coreutils.
61539         * modules/raise, modules/readtokens0, modules/utimens:
61540         * modules/utimecmp, module/xnanosleep: New files.
61541         * modules/strftime: Add lib/strftime.h.
61542         Change include from <time.h> to "strftime.h".
61543         * modules/yesno: Add lib/yesno.h.
61544         * modules/backupfile: Remove lib/addext.c.
61545         * modules/euidaccess: Add stat-macros.h.
61546         * modules/canonicalize, modules/euidaccess,
61547         modules/filemode, modules/lchown, modules/makepath,
61548         modules/rmdir, modules/stat: Likewise.
61549
61550 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
61551
61552         Merge from tar.
61553         * lib/argp-help.c (make_hol, hol_append): Don't assume that
61554         SIZE_MAX is a valid preprocessor constant.
61555         (__argp_basename): Change from "#ifndef _LIBC"
61556         to "#ifndef __argp_short_program_name", so that
61557         we don't compile these functions for tar.
61558
61559         More merges from coreutils.
61560         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
61561         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
61562         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
61563         * lib/addext.c: Remove; no longer needed.
61564         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
61565         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
61566         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
61567         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
61568         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
61569         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
61570         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
61571         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
61572         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
61573         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
61574         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
61575         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
61576         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
61577         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
61578         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
61579         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
61580         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
61581         Import changes from coreutils.
61582
61583 2004-08-05  Simon Josefsson  <jas@extundo.com>
61584
61585         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
61586
61587 2004-08-05  Simon Josefsson  <jas@extundo.com>
61588
61589         * m4/getsubopt.m4: New file.
61590
61591 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
61592
61593         Merge from coreutils.
61594
61595         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
61596         * m4/getcwd-path-max.m4: New files.
61597
61598         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
61599         FILESYSTEM_PREFIX_LEN ->
61600         FILE_SYSTEM_PREFIX_LEN.
61601         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
61602         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
61603         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
61604         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
61605
61606         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
61607         prerequisite modules now handle the DOS stuff.
61608         Don't check for unistd.h.
61609
61610 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
61611
61612         Merge from coreutils.
61613
61614         * lib/.gdb-history: Remove; this doesn't belong here.
61615
61616         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
61617         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
61618         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
61619         * lib/getcwd.c: New files.
61620
61621         * lib/dirname.h: Include <stdbool.h>.
61622         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
61623         for consistency with POSIX terminology.  All uses changed.
61624         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
61625         (strip_trailing_slashes): Use bool for booleans.
61626         * lib/stripslash.c (strip_trailing_slashes): Likewise.
61627
61628         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
61629         sometimes returns a positive errno value even when it succeeds.
61630         (print_errno_message) [!LIBC]: Fall back on strerror if
61631         __strerror_r fails.
61632
61633         * lib/path-concat.c (mempcpy): Don't define if a system header defines
61634         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
61635         (longest_relative_suffix): New function.
61636         (path_concat): Use it.  Assume first argument is not NULL.
61637         Port to DOS.  Omit redundant separators.
61638         Report an error instead of returning NULL.
61639         Use mempcpy instead of memcpy.
61640         (xpath_concat): Remove: not declared or used.
61641
61642         * lib/same.h: Include <stdbool.h>
61643         (same_name): Return bool, not int.
61644         * lib/same.c (same_name): Likewise.
61645         (errno): Don't declare; we assume C89 or better now.
61646
61647         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
61648         if not already defined.
61649
61650         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
61651         * lib/dup-safer.c (errno): Likewise.
61652
61653 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
61654
61655         Merge from coreutils.
61656         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
61657         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
61658         * modules/path-concat: Don't depend on strdup.
61659
61660 2004-08-03  Simon Josefsson  <jas@extundo.com>
61661
61662         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
61663         * lib/progname.h: Don't include stdbool.h.
61664
61665 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
61666
61667         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
61668         * MODULES.html.sh (func_all_modules): Remove fatal.
61669
61670 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
61671
61672         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
61673
61674 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
61675
61676         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
61677         working.
61678
61679 2004-08-02  Simon Josefsson  <jas@extundo.com>
61680
61681         * lib/getsubopt.h: New file, with comments from Bruno Haible.
61682         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
61683         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
61684
61685 2004-08-01  Simon Josefsson  <jas@extundo.com>
61686
61687         * lib/xgetdomainname.c: Include stdlib.h, for free().
61688
61689 2004-07-19  Bruno Haible  <bruno@clisp.org>
61690
61691         * MODULES.html.sh (func_all_modules): Add dummy.
61692
61693 2004-07-16  Simon Josefsson  <jas@extundo.com>
61694
61695         * modules/dummy: New file.
61696
61697 2004-07-16  Simon Josefsson  <jas@extundo.com>
61698
61699         * lib/dummy.c: New file.
61700
61701 2004-07-16  Bruno Haible  <bruno@clisp.org>
61702
61703         * lib/backupfile.h: Add extern "C" for C++.
61704         * lib/closeout.h: Likewise.
61705         * lib/copy-file.h: Likewise.
61706         * lib/findprog.h: Likewise.
61707         * lib/full-write.h: Likewise.
61708         * lib/pathname.h: Likewise.
61709         * lib/progname.h: Likewise.
61710         * lib/stpcpy.h: Likewise.
61711         * lib/stpncpy.h: Likewise.
61712         * lib/strcase.h: Likewise.
61713         * lib/strstr.h: Likewise.
61714         * lib/xalloc.h: Likewise.
61715
61716         * lib/mbswidth.h: Add extern "C" for C++.
61717         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
61718
61719 2004-07-13  Robert Millan  <robertmh@gnu.org>
61720
61721         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
61722
61723 2004-07-09  Simon Josefsson  <jas@extundo.com>
61724
61725         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
61726         failed without this.)
61727
61728 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
61729
61730         * modules/chown (Files): Add lib/fchown-stub.c, since
61731         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
61732
61733 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
61734
61735         * lib/fchown-stub.c: New file.
61736
61737 2004-06-24  Jim Meyering  <jim@meyering.net>
61738
61739         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
61740
61741 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
61742
61743         * modules/argz: Omit "#include".
61744
61745         * MODULES.html.sh (func_all_modules): Add calloc, to match
61746         2004-06-01 addition of calloc module.
61747
61748 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
61749
61750         * m4/argz.m4: New file, which is autoupdated from libtool.
61751
61752 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
61753
61754         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
61755         libtool.
61756
61757 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
61758
61759         * config/srclist-update: Don't insist on "USA." before the
61760         close-comment, as libtool omits the period and puts the */ on a
61761         separate line.
61762         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
61763         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
61764
61765 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
61766
61767         * modules/argz: New file.
61768         * MODULES.html.sh (func_all_modules): Add argz.
61769
61770 2004-06-12  Jim Meyering  <jim@meyering.net>
61771         and  Paul Eggert  <eggert@cs.ucla.edu>
61772
61773         * modules/hash (Files): Add lib/xalloc.h.
61774         * modules/pipe (Depends-on): Add wait-process.
61775         * modules/stat (Depends-on): Add xalloc.
61776         * modules/userspec (Files): Add lib/userspec.h.
61777         * modules/xstrto
61778
61779         Upgrade from gettext-0.13.
61780         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
61781         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
61782         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
61783
61784 2004-06-10  Jim Meyering  <jim@meyering.net>
61785
61786         * lib/calloc.c: New file.
61787
61788 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
61789
61790         * lib/getdate.y (yylex): Allow space between sign and number.
61791         Problem reported by Dan Jacobson.
61792
61793 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
61794
61795         Merge from coreutils CVS.
61796
61797         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
61798         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
61799         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
61800         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
61801         xstrtol.m4: Fix copyright date and/or serial number.
61802
61803         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
61804         See if we need an fchown replacement.
61805         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
61806         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
61807         and use the replacement function if we detect either defect.
61808
61809         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
61810         gl_UTIMECMP.
61811
61812 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
61813         and  Jim Meyering  <jim@meyering.net>
61814
61815         Merge from coreutils CVS.
61816
61817         * lib/stat-macros.h: New file, with contents from file-type.h
61818         and coreutils' system.h.
61819         * lib/file-type.c: Include "stat-macros.h".
61820         * lib/file-type.h (file_type): Move all macro definitions to new file,
61821         stat-macros.h.
61822
61823         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
61824         Wrap old code with this conditional.
61825         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
61826         function that does not dereference symlinks.
61827         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
61828
61829         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
61830         dependency problems.
61831         (xreadlink): Accept new arg SIZE, for efficiency.
61832         All decls and uses changed.
61833         * lib/xreadlink.h: Include <stddef.h>, for size_t.
61834
61835         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
61836         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
61837
61838         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
61839         sysexits.h.
61840
61841 2004-06-01  Jim Meyering  <jim@meyering.net>
61842
61843         * m4/calloc.m4: New file.
61844
61845 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
61846
61847         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
61848         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
61849         Also, fix a typo in a diagnostic.
61850
61851 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
61852
61853         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
61854         or AC_FUNC_REALLOC.
61855
61856 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
61857
61858         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
61859         macros to be defined.
61860         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
61861         the allocator returns NULL because the requested size is zero.
61862
61863 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
61864
61865         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
61866         var.  Add comment explaining why libc still defines it.  This
61867         merges the following patch from glibc:
61868         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
61869
61870 2004-05-20  Andreas Schwab  <schwab@suse.de>
61871
61872         * m4/free.m4: Replace free if it not known to work, not the other
61873         way round.
61874
61875 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
61876
61877         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
61878         present in glibc since revision 1.1 of this file.
61879         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
61880         obstack_alignment_mask, obstack_alloc, obstack_base,
61881         obstack_blank, obstack_blank_fast, obstack_chunk_size,
61882         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
61883         obstack_grow0, obstack_init, obstack_int_grow,
61884         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
61885         obstack_next_free, obstack_object_size, obstack_ptr_grow,
61886         obstack_ptr_grow_fast, obstack_room): Remove declarations of
61887         nonexistent functions.
61888
61889 2004-05-18  Karl Berry  <karl@gnu.org>
61890
61891         * config/srclist.txt: break link for vasnprintf.c.
61892
61893 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
61894
61895         Port obstack to the AS/400, where pointers are 16 bytes wide and
61896         you cannot cast an integer to a valid pointer.  This patch is
61897         currently waiting to be integrated into glibc; see
61898         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
61899
61900         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
61901         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
61902         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
61903         (struct obstack): temp member is now a union of a pointer and
61904         an integer, instead of an integer.  All integer uses changed.
61905         This does not affect the physical layout of struct obstack,
61906         except on hosts (like the AS/400) where the size or alignment of
61907         void * is greater than that of ptrdiff_t.
61908         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
61909         __STDC__)]: Store temporary in pointer member of union, not
61910         integer member.
61911         * lib/obstack.c: Include <stddef.h>, for offsetof.
61912         (struct fooalign): Remove; it doesn't need a name.
61913         (union fooround): Change double to long double, and add void *.
61914         (DEFAULT_ALIGNMENT): Use offsetof to compute.
61915         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
61916         not a macro.  Hence the values are always int; so remove all
61917         casts-to-int in uses.
61918
61919 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
61920
61921         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
61922         we can get this patch merged into glibc.
61923
61924 2004-05-17  Derek R. Price  <derek@ximbiot.com>
61925             Paul Eggert  <eggert@cs.ucla.edu>
61926
61927         * m4/argp: Depend on alloca.
61928
61929 2004-05-17  Derek R. Price  <derek@ximbiot.com>
61930             Paul Eggert  <eggert@cs.ucla.edu>
61931
61932         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
61933         freecoding.
61934
61935 2004-05-17  Bruno Haible  <bruno@clisp.org>
61936
61937         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
61938         precision that consists of a '.' followed by an empty digit string.
61939         Patch by Tor Lillqvist <tml@iki.fi>.
61940
61941 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
61942
61943         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
61944         for backward compatibility with older code.  We need our own
61945         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
61946         it under some other name, and our alloca.h will define it.
61947
61948 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
61949             Derek Price  <derek@ximbiot.com>
61950
61951         * lib/alloca.c: Include <alloca.h>, to get our interface.
61952         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
61953         include <alloca.h> first.  Use C89 prototype for alloca; this
61954         requires including <stddef.h> for size_t.  Use extern "C" if C++.
61955         Use #elif for simplicity, since we can assume C89 now.
61956         Don't try to source the system alloca.h since it will not be found
61957         and to prevent recursively including its replacement.
61958         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
61959         * lib/regex.c: Likewise.
61960
61961 2004-05-16  Derek Price  <derek@ximbiot.com>
61962             Paul Eggert  <eggert@cs.ucla.edu>
61963
61964         getline cleanup.  This changes the getndelim2 API: both order of
61965         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
61966         no delimiter).
61967
61968         * lib/getline.c: Don't include stddef.h or stdio.h, since our
61969         interface does that.
61970         (getline): Always use getdelim, so that we don't have two
61971         copies of this code.
61972         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
61973         if available.
61974         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
61975         (GETNDELIM2_MAXIMUM): New macro.
61976         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
61977         instead of the old practice of delim2==0.  All callers changed.
61978         Return -1 on overflow, instead of returning junk.
61979         Do not set *linesize unless allocation succeeds.
61980         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
61981         that we include sys/types.h.
61982         * lib/getnline.h: Likewise.
61983         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
61984         (getndelim2): Reorder arguments.
61985         * lib/getnline.c (getnline, getndelim):
61986         Don't discard the NMAX argument.
61987         (getnline): Invoke getndelim, to avoid code duplication.
61988         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
61989         of (size_t) -1 by callers of the getnline family.
61990
61991 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
61992
61993         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
61994         Check for gettimeofday.
61995         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
61996         Check for settimeofday, stime.
61997
61998 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
61999
62000         * lib/nanosleep.c (suspended): Change its type from int to
62001         sig_atomic_t volatile.
62002         (first_call): Make it private to rpl_nanosleep, and have it
62003         be zero initially as that's a bit faster.
62004         (my_usleep): Round up fractional times instead of truncating them,
62005         as this is the usual meaning for 'sleep'.
62006
62007         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
62008         doesn't work.
62009         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
62010         (ENOSYS): Define if not defined.
62011         (settime): Fall back on stime if it exists and settimeofday fails.
62012         But don't bother with fallbacks if a method fails with errno == EPERM.
62013
62014 2004-05-11  Jim Meyering  <jim@meyering.net>
62015
62016         Prior to this change, the save_cwd caller required read access to the
62017         current directory on most systems (ones with the fchdir function).
62018
62019         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
62020         fails, try write-only, and finally, resort to using xgetcwd.
62021
62022 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
62023
62024         * lib/obstack.c, obstack.h: Import changes from libc.
62025
62026 2004-04-28  Bruno Haible  <bruno@clisp.org>
62027
62028         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
62029         also implicitly appends .exe to executables.
62030         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
62031         accepts Windows pathnames.
62032         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
62033         Treat Cygwin like Windows, since it now accepts Windows pathnames.
62034         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
62035         Treat Cygwin like Windows, since it now accepts Windows pathnames.
62036         Reported by Derek Robert Price <derek@ximbiot.com>.
62037
62038 2004-04-21  Karl Berry  <karl@gnu.org>
62039
62040         * config/srclist.txt (localcharset.c): break sync.
62041
62042 2004-04-20  Paul Eggert  <eggert@twinsun.com>
62043
62044         * m4/host-os.m4: Add a copyright notice.
62045
62046 2004-04-20  Jim Meyering  <jim@meyering.net>
62047
62048         Change UTILS_ to gl_ in AC_DEFINE'd names.
62049         Change utils_- and jm_-prefixed variables, too.
62050         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
62051         UTILS_FUNC_MKDIR_TRAILING_SLASH.
62052         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
62053
62054         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
62055         Don't emit trailing blanks.
62056         Also rename jm_-prefixed variables to have gl_ prefix.
62057
62058         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
62059         Also rename jm_-prefixed variables to have gl_ prefix.
62060
62061         * m4/jm-macros.m4: Reflect the renamings.
62062         * m4/prereq.m4: Likewise.
62063
62064 2004-04-20  Jim Meyering  <jim@meyering.net>
62065
62066         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
62067         memory.
62068
62069 2004-04-20  Jim Meyering  <jim@meyering.net>
62070             Bruno Haible  <bruno@clisp.org>
62071
62072         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
62073         memory when realloc fails.
62074
62075 2004-04-19  Jim Meyering  <jim@meyering.net>
62076
62077         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
62078         now that readutmp.c may call `free (0)'.
62079
62080 2004-04-19  Bruno Haible  <bruno@clisp.org>
62081
62082         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
62083         * m4/inttypes_h.m4: Likewise.
62084         * m4/stdint_h.m4: Likewise.
62085         * m4/intmax_t.m4: Likewise.
62086         * m4/uintmax_t.m4: Likewise.
62087
62088 2004-04-18  Jim Meyering  <jim@meyering.net>
62089
62090         * m4/prereq.m4: Don't forbid jm_ prefix.
62091
62092         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
62093         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
62094         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
62095         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
62096         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
62097         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
62098         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
62099         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
62100         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
62101         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
62102         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
62103         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
62104         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
62105         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
62106         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
62107         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
62108         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
62109         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
62110         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
62111
62112 2004-04-18  Jim Meyering  <jim@meyering.net>
62113
62114         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
62115         failure, don't leak memory and do call END_UTMP_ENT.
62116
62117 2004-04-16  Jim Meyering  <jim@meyering.net>
62118
62119         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
62120         coreutils' stat program.
62121         (gl_PREREQ): Don't require jm_PREREQ_STAT.
62122
62123 2004-04-11  Paul Eggert  <eggert@twinsun.com>
62124
62125         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
62126         C89.
62127         (CHAR_BIT): Remove, since we assume C89.
62128         Include <stdint.h> if available, as per current Autoconf CVS advice.
62129
62130 2004-03-31  Jim Meyering  <jim@meyering.net>
62131
62132         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
62133         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
62134         * m4/xalloc.m4: Likewise.
62135
62136 2004-03-30  Paul Eggert  <eggert@twinsun.com>
62137
62138         Merge from coreutils.
62139
62140         * m4/inttostr.m4: New file.
62141         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
62142         Require AM_STDBOOL_H and gl_TIMESPEC instead.
62143         Require gl_CLOCK_TIME.
62144         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
62145
62146 2004-03-30  Paul Eggert  <eggert@twinsun.com>
62147
62148         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
62149         not bool, to be more consistent with Unix conventions.
62150         Suggested by Bruno Haible.
62151
62152         Merge from coreutils.
62153
62154         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
62155         * lib/umaxtostr.c: New files.
62156
62157         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
62158         the usual <time.h> dance.
62159         (get_date): Change signature to support fractional time stamps.
62160         All callers changed.
62161         * lib/getdate.y: Include "getdate.h" first, as we can now
62162         assume C89 and don't need to worry about 'const'.
62163         Similarly, include "unlocked-io.h" near start, not in middle.
62164         Include <limits.h>.
62165         (textint.value): Use long int rather than int.
62166         (textint.digits): Use size_t rather than int.
62167         (BILLION, LOG10_BILLION): New constants.
62168         (parser_control): New member rel_ns.  Members day_ordinal,
62169         time_zone, month, day, hour, minutes, rel_year, rel_month,
62170         rel_day, rel_hour, rel_minutes, rel_seconds
62171         are now long int, not int.  Member seconds is now struct timespec,
62172         not int.  New member timespec_seen.  Members dates_seen, days_seen,
62173         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
62174         not int.
62175         (%union.intval): Now long int, not int.
62176         New member timespec.
62177         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
62178         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
62179         (spec): Now is a timespec or an item list.
62180         (timespec, items): New nonterminals.
62181         (time, rel, relunit, number, get_date):
62182         Add support for fractional seconds.
62183         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
62184         (gmtime, localtime, mktime): Remove decls; not needed with C89.
62185         (to_hour): First arg is now long int, not int.
62186         (to_year): Returns long int, not int.
62187         Don't treat year -70 like 70.
62188         (tm_diff): Returns long int, not int.
62189         (lookup_word): Use bool instead of int when appropriate.
62190         (yylex): Use size_t for count, not int.
62191         Detect overflow when parsing large integer constants.
62192         Add support for fractions.
62193         (get_date): Make pointers 'const' if possible.
62194         Use more-portable code to detect integer overflow.
62195         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
62196         Don't use ctime; it's not reliable if the year has >4 digits.
62197
62198         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
62199         This is for compatibility with BSD.
62200
62201         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
62202         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
62203         From coreutils' system.h.
62204
62205         * lib/userspec.c: Don't include "posixver.h".
62206         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
62207         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
62208         compatible extension.  Simplify code by removing a boolean int
62209         that was always nonzero if a string was nonnull.
62210
62211 2004-03-30  Jim Meyering  <jim@meyering.net>
62212
62213         Merge from coreutils.
62214
62215         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
62216         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
62217         on some systems one must include <grp.h> before it.
62218         Reported by Christian Krackowizer.
62219
62220 2004-03-30  Jim Meyering  <jim@meyering.net>
62221
62222         Merge from coreutils.
62223
62224         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
62225
62226         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
62227         an empty input stream.
62228
62229         * lib/readtokens.c: Include <stdbool.h>.
62230         (readtoken): Use `size_t' rather than int/long.
62231         All callers adjusted.
62232         Use `bool' rather than `int' where appropriate.
62233         Use memset rather than an explicit loop.
62234         Use x2nrealloc rather than xrealloc.
62235         Allow the use of `\0' as a delimiter.
62236         (readtokens): Likewise.
62237         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
62238
62239 2004-03-30  Jim Meyering  <jim@meyering.net>
62240
62241         * m4/realloc.m4: Remove file, since now it does no more than
62242         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
62243         the `configure.ac' section of module/realloc.
62244         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
62245
62246 2004-03-30  Bruno Haible  <bruno@clisp.org>
62247
62248         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
62249         nonnull.
62250
62251 2004-03-29  Paul Eggert  <eggert@twinsun.com>
62252
62253         Merge changes to getloadavg.c from coreutils and Emacs.
62254
62255         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
62256         Define to an expression, not to the empty string.
62257         Include cloexec.h and xalloc.h.
62258         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
62259         Use set_cloexec_flag rather than rolling our own.
62260         * lib/cloexec.c, lib/cloexec.h: New files.
62261
62262 2004-03-29  Paul Eggert  <eggert@twinsun.com>
62263
62264         * m4/cloexec.m4: New file.
62265
62266 2004-03-18  Paul Eggert  <eggert@twinsun.com>
62267
62268         * lib/getopt.h: Sync with libc CVS.
62269
62270 2004-03-18  Paul Eggert  <eggert@twinsun.com>
62271             Bruno Haible  <bruno@clisp.org>
62272
62273         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
62274         mbswidth.
62275
62276 2004-03-18  Paul Eggert  <eggert@twinsun.com>
62277             Bruno Haible  <bruno@clisp.org>
62278
62279         * lib/mbswidth.h: Include <wchar.h> only if
62280         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
62281         <wchar.h>.
62282         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
62283
62284 2004-03-09  Paul Eggert  <eggert@twinsun.com>
62285
62286         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
62287         Sync with libc CVS.
62288         * lib/getopt_int.h: New file, also synced from libc.
62289
62290 2004-03-09  Paul Eggert  <eggert@twinsun.com>
62291
62292         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
62293         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
62294         Bring back getopt.c, getopt.h, getopt1.c.
62295
62296 2004-03-07  Paul Eggert  <eggert@twinsun.com>
62297
62298         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
62299         All uses changed.  Check for sa_sigaction member; this fixes
62300         a bug first reported by Jason Andrade in
62301         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
62302
62303 2004-03-07  Paul Eggert  <eggert@twinsun.com>
62304
62305         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
62306         '#if' expressions.  Unlike the code it replaces, it does not
62307         depend on (defined _SC_PAGESIZE).  However, it does depend on
62308         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
62309         first reported by Jason Andrade in
62310         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
62311
62312 2004-02-25  Simon Josefsson  <jas@extundo.com>
62313
62314         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
62315
62316 2004-02-25  Simon Josefsson  <jas@extundo.com>
62317
62318         * lib/strdup.h: New file.
62319         * lib/strdup.c: Include it.
62320         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
62321         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
62322
62323 2004-02-23  Karl Berry  <karl@gnu.org>
62324
62325         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
62326         (from fencepost.gnu.org:/gd/gnuorg).
62327
62328 2004-02-23  Karl Berry  <karl@gnu.org>
62329
62330         * config/srclistvars.sh (GNUORG) [karl]: redefine.
62331         * config/srclist.txt: add maintain/standards documents.
62332
62333 2004-02-18  Bruno Haible  <bruno@clisp.org>
62334
62335         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
62336         Reported by Derek Robert Price <derek@ximbiot.com>.
62337
62338 2004-02-16  Karl Berry  <karl@gnu.org>
62339
62340         * config/mkinstalldirs, install-sh: update from automake.
62341
62342 2004-02-06  Karl Berry  <karl@gnu.org>
62343
62344         * m4/po.m4: update from gettext 0.14.1.
62345
62346 2004-02-06  Karl Berry  <karl@gnu.org>
62347
62348         * lib/config.charset: update from gettext 0.14.1.
62349
62350 2004-02-05  Paul Eggert  <eggert@twinsun.com>
62351
62352         Add comments and code, prompted by suggestions from Bruno Haible
62353         for sh-quote.
62354         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
62355         describing the enum quoting_style values.
62356         * lib/quotearg.c (quotearg_alloc): New function.
62357         (quotearg_buffer_restyled): Treat lone { and } as special.
62358         Treat = as special.  Work around bug with older shells
62359         that "see" a '\' that is really the 2nd byte of a multibyte char.
62360         Quote empty string with shell_quoting_style.
62361
62362 2004-02-03  Bruno Haible  <bruno@clisp.org>
62363
62364         * m4/pipe.m4: New file, from GNU gettext.
62365
62366 2004-02-03  Bruno Haible  <bruno@clisp.org>
62367
62368         * lib/pipe.h: New file, from GNU gettext.
62369         * lib/pipe.c: New file, from GNU gettext.
62370
62371 2004-01-27  Bruno Haible  <bruno@clisp.org>
62372
62373         * m4/execute.m4: New file, from GNU gettext.
62374
62375 2004-01-27  Bruno Haible  <bruno@clisp.org>
62376
62377         * lib/execute.h: New file, from GNU gettext.
62378         * lib/execute.c: New file, from GNU gettext.
62379         * lib/w32spawn.h: New file, from GNU gettext.
62380
62381 2004-01-24  Paul Eggert  <eggert@twinsun.com>
62382
62383         Merge from diffutils.
62384
62385         * lib/file-type.c (file_type): Add typed memory objects.
62386         * lib/file-type.h (S_TYPEISTMO): New macro.
62387
62388         * lib/c-stack.h (c_stack_action): Remove argv argument.
62389         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
62390         (die): Don't calculate message unless segv_action returns.
62391         (get_stack_location, min_address_from_argv, max_address_from_argv,
62392         volatile stack_base, volatile_stack_size): Remove.
62393         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
62394         that every segmentation violation is a stack overflow.  (Ouch!)
62395         See Debian bug 136249 (still outstanding) for more info about why
62396         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
62397
62398 2004-01-24  Paul Eggert  <eggert@twinsun.com>
62399
62400         Exit-status fix from coreutils.
62401
62402         Use exit_failure consistently in place of EXIT_FAILURE,
62403         so that program exit statuses are consistent on failure.
62404
62405         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
62406         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
62407         * lib/argmatch.h: Comment fix to match the above.
62408         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
62409         Now a macro referring to exit_failure, instead of a separate
62410         variable.  Include "exitfail.h" to get it.
62411         * lib/xstrtol.h: Include "exitfail.h".
62412         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
62413
62414         * lib/long-options.c (parse_long_options): Use prototype
62415         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
62416         for clarity.
62417
62418 2004-01-21  Jim Meyering  <jim@meyering.net>
62419
62420         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
62421         so as not to conflict with a different-sized __mktime_internal
62422         function in GNU libc.
62423         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
62424         Problem building statically-linked `ls' reported by Michael Brunnbauer.
62425
62426 2004-01-20  Karl Berry  <karl@gnu.org>
62427
62428         * config/config.guess: update from config.
62429
62430         * config/srclistvars.sh: GNUWWWLICENSES for karl.
62431
62432 2004-01-20  Bruno Haible  <bruno@clisp.org>
62433
62434         Safer stack allocation.
62435         * lib/setenv.c: Include allocsa.h.
62436         (alloca): Remove fallback definition.
62437         (freea): Remove macro.
62438         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
62439         instead of freea.
62440
62441 2004-01-20  Bruno Haible  <bruno@clisp.org>
62442
62443         * m4/eealloc.m4: New file, from GNU gettext.
62444
62445 2004-01-20  Bruno Haible  <bruno@clisp.org>
62446
62447         * m4/allocsa.m4: New file, from GNU gettext.
62448
62449 2004-01-20  Bruno Haible  <bruno@clisp.org>
62450
62451         * lib/xallocsa.h: New file, from GNU gettext.
62452         * lib/xallocsa.c: New file, from GNU gettext.
62453
62454 2004-01-20  Bruno Haible  <bruno@clisp.org>
62455
62456         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
62457
62458 2004-01-20  Bruno Haible  <bruno@clisp.org>
62459
62460         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
62461         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
62462         specially.
62463
62464 2004-01-20  Bruno Haible  <bruno@clisp.org>
62465
62466         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
62467         patch.
62468
62469 2004-01-20  Bruno Haible  <bruno@clisp.org>
62470
62471         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
62472
62473 2004-01-20  Bruno Haible  <bruno@clisp.org>
62474
62475         * lib/eealloc.h: New file.
62476
62477 2004-01-20  Bruno Haible  <bruno@clisp.org>
62478
62479         * lib/binary-io.h: Avoid warnings on Cygwin.
62480
62481 2004-01-20  Bruno Haible  <bruno@clisp.org>
62482
62483         * lib/allocsa.h: New file, from GNU gettext.
62484         * lib/allocsa.c: New file, from GNU gettext.
62485
62486 2004-01-18  Karl Berry  <karl@gnu.org>
62487
62488         * doc/gpl.texi, doc/lgpl.texi: new files.
62489
62490 2004-01-18  Karl Berry  <karl@gnu.org>
62491
62492         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
62493         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
62494
62495 2004-01-15  Paul Eggert  <eggert@twinsun.com>
62496
62497         Merge from coreutils.
62498
62499         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
62500         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
62501         (gl_DEFAULT_POSIX2_VERSION): Move
62502         the documentation from 'configure' into 'config.hin',
62503         so that 'configure --help' isn't burdened by it and
62504         we don't have to worry about its formatting there.
62505         Reword the documentation so that it's more succinct
62506         and can be run together into a single paragraph.
62507         * m4/same.m4 (gl_SAME): Check for pathconf.
62508
62509 2004-01-15  Paul Eggert  <eggert@twinsun.com>
62510
62511         Merge from coreutils.
62512
62513         * lib/posixver.c: Include posixver.h.
62514
62515         * lib/same.c: Include <stdbool.h>, <limits.h>.
62516         (_POSIX_NAME_MAX): Define if not defined.
62517         (MIN): New macro.
62518         (same_name): If file names are silently truncated, report
62519         that the file names are the same if they are the same after
62520         the silent truncation.
62521
62522         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
62523         conversion function.
62524         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
62525         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
62526         longer needed.
62527
62528 2004-01-15  Jim Meyering  <jim@meyering.net>
62529
62530         Merge from coreutils.
62531
62532         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
62533         if no library is required.
62534         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
62535         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
62536         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
62537         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
62538         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
62539         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
62540         value, $ac_cv_search_crypt, if it's "none required".
62541         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
62542         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
62543         not gl_FUNC_GETLOADAVG.
62544         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
62545         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
62546
62547 2004-01-15  Jim Meyering  <jim@meyering.net>
62548
62549         Merge from coreutils.
62550
62551         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
62552         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
62553         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
62554
62555         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
62556         optional configure-time default.
62557
62558         * lib/version-etc.c (version_etc_copyright): Update copyright date.
62559
62560         * lib/xreadlink.c (xreadlink): Correct outdated comment.
62561
62562 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
62563
62564         Merge from coreutils.
62565
62566         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
62567         value, $ac_cv_search_nanosleep, if it's "none required".
62568
62569 2004-01-14  Paul Eggert  <eggert@twinsun.com>
62570
62571         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
62572         with like-named macro in fnmatch.c.
62573         (EXT): Use an internal constant instead.
62574
62575         Merge fnmatch patches from glibc.
62576         * lib/fnmatch.c (mbsinit): Remove define.
62577         Add libc_hidden_ver (__fnmatch, fnmatch).
62578         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
62579         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
62580
62581 2004-01-14  Karl Berry  <karl@gnu.org>
62582
62583         * config/install-sh: update from automake.
62584
62585 2004-01-13  Karl Berry  <karl@gnu.org>
62586
62587         * config/install-sh: update from automake.
62588
62589 2004-01-09  Karl Berry  <karl@gnu.org>
62590
62591         * config/install-sh: update from automake.
62592
62593 2004-01-05  Karl Berry  <karl@gnu.org>
62594
62595         * config/config.{sub,guess}: update from config.
62596
62597 2003-12-31  Karl Berry  <karl@gnu.org>
62598
62599         * config/depcomp: update from automake.
62600
62601 2003-12-14  Karl Berry  <karl@gnu.org>
62602
62603         * lib/config.charset: update from gettext-runtime.
62604
62605 2003-12-03  Paul Eggert  <eggert@twinsun.com>
62606
62607         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
62608         Bug reported by Alfred M. Szmidt.
62609
62610 2003-12-03  Bruno Haible  <bruno@clisp.org>
62611
62612         * m4/gettext.m4: Upgrade from gettext-0.13.
62613         * m4/po.m4: Upgrade from gettext-0.13.
62614         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
62615         * m4/intmax.m4: New file, from gettext-0.13.
62616         * m4/printf-posix.m4: New file, from gettext-0.13.
62617
62618 2003-11-29  Karl Berry  <karl@gnu.org>
62619
62620         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
62621
62622 2003-11-25  Paul Eggert  <eggert@twinsun.com>
62623             Bruno Haible  <bruno@clisp.org>
62624
62625         * lib/printf-parse.h: Don't include sys/types.h.
62626         (ARG_NONE): New macro.
62627         (char_directive): Change type of *arg_index fields to size_t.
62628         * lib/printf-parse.c: Don't include sys/types.h.
62629         (SSIZE_MAX): Remove macro.
62630         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
62631         Remove unnecessary overflow check.
62632         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
62633         fields.
62634
62635 2003-11-25  Bruno Haible  <bruno@clisp.org>
62636
62637         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
62638
62639 2003-11-25  Bruno Haible  <bruno@clisp.org>
62640
62641         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
62642         gt_TYPE_SSIZE_T.
62643
62644 2003-11-24  Paul Eggert  <eggert@twinsun.com>
62645
62646         * modules/alloca: Remove dependency on xalloc.
62647
62648 2003-11-24  Paul Eggert  <eggert@twinsun.com>
62649
62650         * lib/alloca.c: Remove dependency on xalloc module.
62651         (xalloc_die): Remove.
62652         (memory_full) [!defined emacs]: New macro.
62653         [!defined emacs]: Don't include xalloc.h.
62654         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
62655         address arithmetic overflows.  Change datatypes a bit to avoid
62656         unnecessary casts.
62657
62658 2003-11-22  Jim Meyering  <jim@meyering.net>
62659
62660         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
62661         s/size/size_t/.
62662
62663 2003-11-21  Karl Berry  <karl@gnu.org>
62664
62665         * config/config.{sub,guess}: update from config.
62666
62667 2003-11-18  Karl Berry  <karl@gnu.org>
62668
62669         * config/config.{sub,guess}: update from config.
62670
62671         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
62672
62673 2003-11-17  Paul Eggert  <eggert@twinsun.com>
62674
62675         * README: Mention that S+T cannot overflow if S is the size of
62676         an existing object and T is sufficiently small.
62677
62678 2003-11-17  Jim Meyering  <jim@meyering.net>
62679
62680         On systems without utime and without a utimes function capable of
62681         dealing with a NULL struct utimbuf* argument, this utime replacement
62682         could -- in unusual circumstances -- leak a file descriptor.
62683         * lib/utime.c: Include <unistd.h> and <errno.h>.
62684         (utime_null): Be sure to close `fd' and to preserve errno.
62685         Reported by Geoff Collyer via Arnold Robbins.
62686
62687 2003-11-17  Bruno Haible  <bruno@clisp.org>
62688
62689         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
62690         (Depends-on): Add xsize.
62691
62692 2003-11-17  Bruno Haible  <bruno@clisp.org>
62693
62694         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
62695
62696 2003-11-17  Bruno Haible  <bruno@clisp.org>
62697
62698         * lib/vasnprintf.c (alloca): Remove fallback definition.
62699         (freea): Remove definition.
62700         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
62701         Reported by Paul Eggert.
62702
62703 2003-11-16  Paul Eggert  <eggert@twinsun.com>
62704             Bruno Haible  <bruno@clisp.org>
62705
62706         Protect against address arithmetic overflow.
62707         * lib/printf-args.h: Include stddef.h.
62708         (arguments): Change type of field 'count' to size_t.
62709         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
62710         'unsigned int' where appropriate.
62711         * lib/printf-parse.h: Include sys/types.h.
62712         (char_directive): Change type of *arg_index fields to ssize_t.
62713         (char_directives): Change type of fields 'count', max_*_length to
62714         size_t.
62715         * lib/printf-parse.c: Include sys/types.h and xsize.h.
62716         (SSIZE_MAX): Define fallback value.
62717         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
62718         instead of 'int' where appropriate. Check a_allocated, d_allocated
62719         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
62720         * lib/vasnprintf.c: Include xsize.h.
62721         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
62722         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
62723         overflow. Avoid wraparound when converting a width or precision from
62724         decimal to binary.
62725
62726 2003-11-16  Bruno Haible  <bruno@clisp.org>
62727
62728         Update from GNU gettext.
62729         * lib/printf-parse.c: Generalize to it can be compiled for wide
62730         strings.
62731         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
62732         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
62733         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
62734         SNPRINTF): New macros.
62735         Don't include <alloca.h> if the file is used inside libintl.
62736         (local_wcslen): New function, for Solaris 2.5.1.
62737         (VASNPRINTF): Use it instead of wcslen.
62738
62739 2003-11-16  Bruno Haible  <bruno@clisp.org>
62740
62741         * lib/xsize.h (xmax): New function.
62742         (xsum, xsum3, xsum4): Declare as "pure" functions.
62743
62744 2003-11-12  Paul Eggert  <eggert@twinsun.com>
62745
62746         * modules/xalloc (Files): Undo latest change, since xalloc.h
62747         no longer needs SIZE_MAX or PTRDIFF_MAX.
62748
62749 2003-11-12  Paul Eggert  <eggert@twinsun.com>
62750
62751         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
62752         gl_PTRDIFF_MAX.
62753
62754 2003-11-12  Paul Eggert  <eggert@twinsun.com>
62755
62756         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
62757         "return", to pacify some unknown compiler.  Problem reported
62758         by Joerg Schilling.
62759
62760 2003-11-12  Paul Eggert  <eggert@twinsun.com>
62761
62762         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
62763         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
62764         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
62765         heuristic is just as accurate as far as we know, and it removes a
62766         dependency on size_max.m4 and ptrdiff_max.m4.
62767
62768 2003-11-11  Bruno Haible  <bruno@clisp.org>
62769
62770         * modules/xsize (Files): Add m4/size_max.m4.
62771         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
62772
62773 2003-11-11  Bruno Haible  <bruno@clisp.org>
62774
62775         * m4/size_max.m4: New file.
62776         * m4/ptrdiff_max.m4: New file.
62777         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
62778         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
62779         (gl_XALLOC): Invoke it.
62780
62781 2003-11-11  Bruno Haible  <bruno@clisp.org>
62782
62783         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
62784         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
62785         defined.
62786
62787 2003-11-10  Paul Eggert  <eggert@twinsun.com>
62788
62789         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
62790         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
62791         rejected some allocations of exactly SIZE_MAX - 2 bytes.
62792         From Bruno Haible.
62793         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
62794         not (size_t) -1, since it's defined here.
62795
62796 2003-11-09  Karl Berry  <karl@gnu.org>
62797
62798         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
62799
62800 2003-11-06  Paul Eggert  <eggert@twinsun.com>
62801
62802         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
62803         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
62804         Reject sizes of exactly SIZE_MAX bytes.
62805         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
62806         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
62807
62808 2003-11-05  Bruno Haible  <bruno@clisp.org>
62809
62810         * lib/xsize.h: Include limits.h, to avoid a possible collision with
62811         SIZE_MAX defined in <limits.h> on Solaris.
62812
62813 2003-11-04  Jim Meyering  <jim@meyering.net>
62814
62815         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
62816         variable names, rather than @VAR@.
62817         * modules/poll: Likewise.
62818
62819 2003-11-04  Bruno Haible  <bruno@clisp.org>
62820
62821         * modules/xsize: New file.
62822         * modules/linebreak: Depend on xsize.
62823         * MODULES.html.sh (func_all_modules): Add xsize.
62824
62825 2003-11-04  Bruno Haible  <bruno@clisp.org>
62826
62827         * m4/xsize.m4: New file.
62828
62829 2003-11-04  Bruno Haible  <bruno@clisp.org>
62830
62831         * lib/xsize.h: New file.
62832         * lib/linebreak.c: Include xsize.h.
62833         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
62834         argument for overflow.
62835         Suggested by Paul Eggert.
62836
62837 2003-11-03  Karl Berry  <karl@gnu.org>
62838
62839         * config/config.{guess,sub}: update from config.
62840
62841 2003-11-03  Jim Meyering  <jim@meyering.net>
62842
62843         * modules/userspec (lib_SOURCES): Add userspec.h.
62844         (Include): Add "userspec.h".
62845         Improve description.
62846
62847 2003-11-03  Jim Meyering  <jim@meyering.net>
62848
62849         * lib/userspec.c: Include "userspec.h".
62850         * lib/userspec.h: New file.
62851
62852 2003-11-03  Bruno Haible  <bruno@clisp.org>
62853
62854         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
62855
62856 2003-11-03  Bruno Haible  <bruno@clisp.org>
62857
62858         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
62859         available, to avoid (extremely rare) race condition.
62860         Suggested by Paul Eggert.
62861
62862 2003-11-02  Karl Berry  <karl@gnu.org>
62863
62864         * config/srclist.txt (vasprintf.c): sync broken, sigh.
62865
62866 2003-10-31  Paul Eggert  <eggert@twinsun.com>
62867
62868         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
62869         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
62870         (read_filesystem_list): Set and use me_type_malloced.
62871         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
62872         whatever the type happens to be), for brevity and consistency.
62873         Check for size calculation overflow on Alphas running OSF/1.
62874
62875 2003-10-31  Jim Meyering  <jim@meyering.net>
62876
62877         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
62878
62879         * lib/linebuffer.c: Include <string.h> for declaration of memset.
62880
62881 2003-10-30  Paul Eggert  <eggert@twinsun.com>
62882             Bruno Haible  <bruno@clisp.org>
62883
62884         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
62885         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
62886
62887 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
62888
62889         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
62890         netbsd*-gnu*.  Suggested by Robert Millan.
62891
62892 2003-10-29  Paul Eggert  <eggert@twinsun.com>
62893
62894         * modules/group-member: Depend on stdbool.
62895
62896 2003-10-29  Paul Eggert  <eggert@twinsun.com>
62897
62898         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
62899
62900 2003-10-29  Paul Eggert  <eggert@twinsun.com>
62901
62902         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
62903         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
62904         after the 'gnu' in these cases.  This fixes some bugs in the
62905         previous change, and is based on suggestions by Robert Millan.
62906
62907 2003-10-29  Paul Eggert  <eggert@twinsun.com>
62908
62909         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
62910         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
62911         no longer needed.
62912         * lib/quotearg.c (quotearg_n_options): Use it.
62913         * lib/group-member.c: Include <stdbool.h>.
62914         (free_group_info): Arg is now const *; don't free arg.
62915         (get_group_info): Now returns bool and accepts struct group_info *,
62916         rather than returning a malloc'ed struct group_info *.
62917         All uses changed.  Check for overflow in internal size calculation.
62918
62919         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
62920         rather than xmalloc/xrealloc.
62921         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
62922         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
62923         conformance bug: the old code used a pointer after freeing the
62924         storage that it addressed.
62925         * lib/hash.c (hash_initialize): Simplify the code by using
62926         xalloc_oversized rather than doing it by hand.
62927         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
62928         the buffer preserved.  Use free and xmalloc instead.
62929         * lib/quotearg.c (quotearg_n_options): Likewise.
62930         Use a simpler test for size overflow.  Don't use xalloc_oversized
62931         because unsigned int might be wider than size_t (!); this suggests
62932         that we should switch from unsigned int to size_t for slot numbers.
62933
62934 2003-10-28  Paul Eggert  <eggert@twinsun.com>
62935
62936         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
62937         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
62938         NetBSD kernels.  Requested by Richard Stallman.
62939
62940 2003-10-27  Paul Eggert  <eggert@twinsun.com>
62941
62942         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
62943         to allocate the returned structure.  Do not allocate a subarray,
62944         as x2nrealloc will do that.
62945         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
62946         instead of xnrealloc.
62947         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
62948
62949 2003-10-27  Bruno Haible  <bruno@clisp.org>
62950
62951         * lib/stdbool_.h: Better support for BeOS.
62952
62953 2003-10-26  Paul Eggert  <eggert@twinsun.com>
62954
62955         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
62956         now uses inline.
62957
62958 2003-10-26  Paul Eggert  <eggert@twinsun.com>
62959
62960         * lib/xalloc.h (xalloc_oversized): New static inline function, for
62961         callers that want to do their own size-overflow checking.  Include
62962         <stdbool.h>, since xalloc_oversized returns bool.
62963         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
62964         to use xalloc_oversized.
62965
62966         Add two functions x2realloc, x2nrealloc, for programs that grow
62967         arrays dynamically by doubling their sizes.
62968         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
62969         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
62970         New functions.
62971
62972         Port to C99 semantics for 'inline' of external functions.
62973         Bug reported by Bruno Haible.
62974         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
62975         with the old contents of xnmalloc.
62976         (xnmalloc, xmalloc): Use it.
62977         (xnrealloc_inline): New static inline function,
62978         with the old contents of xnrealloc.
62979         (xnrealloc, xrealloc): Use it.
62980
62981         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
62982         that.
62983
62984 2003-10-26  Karl Berry  <karl@gnu.org>
62985
62986         * config/srclist.txt (COPYING.DOC): no longer available from
62987         /gd/gnuorg; don't know where the ultimate source is.
62988
62989 2003-10-25  Paul Eggert  <eggert@twinsun.com>
62990
62991         Fix several address-calculation bugs in the hash modules,
62992         plus some minor code cleanup.
62993
62994         * lib/hash.h: Include <stdbool.h>, for bool.
62995         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
62996         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
62997         hash_get_n_entries, hash_get_max_bucket_length,
62998         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
62999         hash_rehash): Use size_t rather than unsigned.
63000         * lib/hash.c (struct hash_table, hash_get_n_buckets,
63001         hash_get_n_buckets_used, hash_get_n_entries,
63002         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
63003         hash_get_entries, hash_do_for_each, hash_string, is_prime,
63004         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
63005         Likewise.
63006         (SIZE_MAX): Define if not defined.
63007         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
63008         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
63009         hash_print):
63010         Use const * when possible.
63011         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
63012         (check_tuning): Fix bug: if tuning parameters were very close to
63013         0 or 1, rounding errors could have caused subscript violations.
63014         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
63015         (hash_initialize): Add 'fail:' label
63016         to free table and return NULL, and use it to simplify code.
63017         Use calloc rather than clearing the storage ourself.
63018         (hash_initialize, hash_rehash): Check for arithmetic overflow in
63019         buffer size calculations.
63020         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
63021         Include <stddef.h>, for size_t.
63022         * lib/hash-pjw.c (hash_pjw): Likewise.
63023         Switch to method described by Bruno Haible.
63024         Include <limits.h>, for CHAR_BIT.
63025         (SIZE_BITS): New macro.
63026
63027 2003-10-23  Paul Eggert  <eggert@twinsun.com>
63028
63029         * m4/getline.m4 (AM_FUNC_GETLINE):
63030         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
63031         hosts.  Problem reported by Derek Robert Price in
63032         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
63033         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
63034         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
63035
63036 2003-10-21  Paul Eggert  <eggert@twinsun.com>
63037
63038         * lib/getndelim2.c (getndelim2): When size calculation overflows,
63039         ceiling the allocation at NMAX bytes rather than silently
63040         discarding input bytes before NMAX is reached.  This makes
63041         a difference only if NMAX exceeds SIZE_MAX / 2.
63042
63043         * lib/obstack.c: Merge from glibc.
63044         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
63045         Add libc_hidden_def (_obstack_newchunk).
63046         (_obstack_free) [! defined _LIBC]: Remove.
63047         [defined _LIBC]: Make a strong alias from obstack_free, rather than
63048         a clone of the function body.
63049         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
63050         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
63051
63052         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
63053         glibc.
63054         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
63055         arg to memcpy.
63056
63057         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
63058         (obstack_ptr_grow_fast, obstack_int_grow_fast):
63059         Don't use lvalue casts, as GCC plans to remove support for them
63060         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
63061         was also present in the non-GCC version, indicating that this
63062         code had always been buggy and had never been widely used.
63063         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
63064         Use the fast variant of each macro, rather than copying the
63065         definiens of the fast variant; that way, we'll be more likely to
63066         catch future bugs in the fast variants.
63067
63068 2003-10-20  Bruno Haible  <bruno@clisp.org>
63069
63070         * modules/wait-process: New file.
63071         * MODULES.html.sh (func_all_modules): Add wait-process.
63072
63073 2003-10-20  Bruno Haible  <bruno@clisp.org>
63074
63075         * m4/wait-process.m4: New file.
63076
63077 2003-10-20  Bruno Haible  <bruno@clisp.org>
63078
63079         * lib/wait-process.h: New file, from GNU gettext.
63080         * lib/wait-process.c: New file, from GNU gettext.
63081
63082 2003-10-19  Jim Meyering  <jim@meyering.net>
63083
63084         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
63085         HPUX 10.20.
63086
63087 2003-10-18  Karl Berry  <karl@gnu.org>
63088
63089         * config/config.guess: update from config.
63090
63091 2003-10-16  Paul Eggert  <eggert@twinsun.com>
63092
63093         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
63094         (getgroups): First arg is int, not size_t.
63095         Don't let 'free' mangle errno.
63096
63097 2003-10-16  Paul Eggert  <eggert@twinsun.com>
63098
63099         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
63100
63101 2003-10-16  Karl Berry  <karl@gnu.org>
63102
63103         * config/config.{guess,sub}: update from config.
63104
63105 2003-10-16  Jim Meyering  <jim@meyering.net>
63106
63107         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
63108         memcpy.
63109
63110 2003-10-15  Paul Eggert  <eggert@twinsun.com>
63111
63112         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
63113         (SIZE_MAX): Remove.
63114         (new_exclude, add_exclude_file): Initial size no longer needs to
63115         be a power of 2.
63116         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
63117         our own address arithmetic overflow checking.
63118
63119         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
63120         (fnmatch): Do not alloca more than 2000 wide characters;
63121         instead, use malloc for large buffers.
63122         Check for address arithmetic overflow, and return -1
63123         with errno set to ENOMEM in that case.
63124         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
63125         (NEW_PATTERN): Do not alloca more than 8000 bytes;
63126         instead, return -1.  Check for address arithmetic overflow.
63127
63128 2003-10-14  Paul Eggert  <eggert@twinsun.com>
63129
63130         Handle invalid suffixes and overflow independently, so that
63131         callers can treat them independently as needed.  Fix some bugs in
63132         suffix handling, e.g., "100k@" was not diagnosed as an invalid
63133         suffix for a human-readable blocksize.  The major caller-visible
63134         change is the addition of a new
63135         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
63136         that both overflow and suffix chars were found.
63137
63138         * lib/human.c (humblock): Don't check separately for invalid suffix
63139         char; that is xstrtoumax's job (now that its bug is fixed).
63140         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
63141         INTMAX_MAX]: New macros.
63142         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
63143         TYPE_MAXIMUM): New macros.
63144         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
63145         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
63146         if overflow occurs, as it's what __strtol does and it's more useful
63147         in practice.
63148         (__xstrtol): If __strtol reports some error other than ERANGE,
63149         reflect it to the caller as LONGINT_INVALID.  If it reports
63150         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
63151         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
63152         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
63153         value.
63154         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
63155         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
63156         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
63157         [defined UINTMAX_MAX]: New macros.
63158
63159 2003-10-14  Bruno Haible  <bruno@clisp.org>
63160
63161         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
63162
63163 2003-10-14  Bruno Haible  <bruno@clisp.org>
63164
63165         * m4/sig_atomic_t: New file, from GNU gettext.
63166         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
63167
63168 2003-10-14  Bruno Haible  <bruno@clisp.org>
63169
63170         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
63171         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
63172         Also use volatile where needed.
63173
63174 2003-10-12  Paul Eggert  <eggert@twinsun.com>
63175
63176         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
63177         Change maintainer from Bruno Haible to 'all'.
63178
63179 2003-10-12  Paul Eggert  <eggert@twinsun.com>
63180
63181         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
63182
63183 2003-10-12  Paul Eggert  <eggert@twinsun.com>
63184
63185         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
63186         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
63187         and define in terms of the other primitives.
63188         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
63189         (SIZE_MAX): Define if not already defined.
63190         (array_size_overflow): New function.
63191         (xalloc_die): Abort instead of exiting if 'error' returns.
63192         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
63193         (xmalloc, xrealloc): Use them.
63194         (xcalloc): Check for address arithmetic overflow.
63195         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
63196         a bit faster than strcpy.
63197
63198 2003-10-10  Simon Josefsson  <jas@extundo.com>
63199
63200         * modules/argp (Depends-on): Add restrict and strcase.
63201
63202 2003-10-10  Simon Josefsson  <jas@extundo.com>
63203
63204         * m4/argp.m4: Add AC_C_INLINE.
63205
63206 2003-10-08  Paul Eggert  <eggert@twinsun.com>
63207
63208         Merge getpass from libc, plus a few fixes.
63209
63210         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
63211         Include <stdbool.h>.
63212         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
63213         __fsetlocking to empty.
63214         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
63215         do include <bits/libc-lock.h>.
63216         Do not include <fcntl.h>; not needed.
63217         [_LIBC]: Include <wchar.h>.
63218         (NOTCANCEL_MODE): New macro.
63219         (flockfile, funlockfile) [_LIBC]: New macros.
63220         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
63221         [!_LIBC]: New macros.
63222         (call_fclose): New function.
63223         (getpass): Use it.  Save tty stream separately; this simplifies the
63224         code and makes it more reliable if stdin happens to equal stdout.
63225         Invoke __fsetlocking on tty.
63226         Handle thread cancellation if needed.
63227         Namespace cleanup (use __tcgetattr, __getline).
63228         Use bool for Booleans.
63229         [USE_IN_LIBIO]: Handle wide streams.
63230         [!_LIBC]: Unconditionally do the fseek, since we don't know what
63231         stream might go where.
63232
63233         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
63234         doesn't have to include <stdio.h> before us.
63235         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
63236         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
63237         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
63238         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
63239         if not declared, so that we can use getpass.c code from libc without
63240         rewriting it.
63241         (flockfile, ftrylockfile, funlockfile): New macros.
63242
63243 2003-10-08  Paul Eggert  <eggert@twinsun.com>
63244
63245         * modules/getpass: Depend on stdbool.
63246
63247 2003-10-08  Paul Eggert  <eggert@twinsun.com>
63248
63249         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
63250
63251 2003-10-07  Karl Berry  <karl@gnu.org>
63252
63253         * config/config.{guess,sub}: update from config.
63254
63255 2003-10-06  Jim Meyering  <jim@meyering.net>
63256             Bruno Haible  <bruno@clisp.org>
63257
63258         This lets translators provide better translations for the
63259         "Written by ..." part of --version output.
63260         * lib/version-etc.h: Include stdarg.h.
63261         (version_etc_copyright): Declare as readonly.
63262         (version_etc): Make this function variadic with a NULL-terminated list
63263         of author name strings.
63264         (version_etc_va): New declaration.
63265         * lib/version-etc.c: Include stdarg.h, stdlib.h.
63266         (version_etc_copyright): Declare as readonly.
63267         (version_etc_va): New function. Provide a different translatable string
63268         for each possible number of authors < 10. Abbreviate when there are 10
63269         authors or more.
63270         (version_etc): Make this function variadic. Call version_etc_va.
63271         Suggestion from Gary V. Vaughan.
63272
63273         * lib/long-options.h (parse_long_options): Change prototype: the
63274         authors string is moved to the end and becomes variadic.
63275         * lib/long-options.c: Include stdarg.h.
63276         (parse_long_options): Make this function variadic, too.
63277         Call version_etc_va, not version_etc.
63278
63279 2003-10-06  Bruno Haible  <bruno@clisp.org>
63280
63281         * modules/version-etc-2: Remove file.
63282         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
63283
63284 2003-10-06  Bruno Haible  <bruno@clisp.org>
63285
63286         * modules/fatal-signal: New file.
63287         * MODULES.html.sh (func_all_modules): Add fatal-signal.
63288
63289 2003-10-06  Bruno Haible  <bruno@clisp.org>
63290
63291         * m4/fatal-signal.m4: New file.
63292         * m4/signalblocking.m4: New file, from GNU gettext.
63293
63294 2003-10-06  Bruno Haible  <bruno@clisp.org>
63295
63296         * lib/version-etc-2.h: Remove file.
63297         * lib/version-etc-2.c: Remove file.
63298
63299 2003-10-06  Bruno Haible  <bruno@clisp.org>
63300
63301         * lib/fatal-signal.h: New file, from GNU gettext.
63302         * lib/fatal-signal.c: New file, from GNU gettext.
63303
63304 2003-10-05  Paul Eggert  <eggert@twinsun.com>
63305
63306         * README: Rework advice for preventing empty .o files.
63307         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
63308         not <sys/types.h>.
63309
63310 2003-10-04  Karl Berry  <karl@gnu.org>
63311
63312         * lib/argp*: update from libc.
63313
63314 2003-10-04  Karl Berry  <karl@gnu.org>
63315
63316         * config/config.{guess,sub}: update from config.
63317
63318 2003-10-02  Bruno Haible  <bruno@clisp.org>
63319
63320         * modules/lchown (Include): Add lchown.h.
63321         * modules/time_r (Include): Use "..." syntax.
63322         * modules/xgetdomainname (Include): Add xgetdomainname.h.
63323
63324 2003-10-01  Simon Josefsson  <jas@extundo.com>
63325
63326         * MODULES.html.sh (func_all_modules): Move gethostname from section
63327         'based on' to section 'lacking' POSIX:2001.
63328
63329 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
63330
63331         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
63332         to output mode on the same stream.
63333
63334 2003-09-29  Paul Eggert  <eggert@twinsun.com>
63335
63336         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
63337         Fix arg typo in previous patch.
63338
63339 2003-09-28  Jim Meyering  <jim@meyering.net>
63340
63341         * lib/error.c: Correct cpp indentation.
63342
63343 2003-09-27  Paul Eggert  <eggert@twinsun.com>
63344
63345         * modules/free: New file.
63346
63347 2003-09-27  Paul Eggert  <eggert@twinsun.com>
63348
63349         * m4/free.m4: New file.
63350
63351 2003-09-27  Paul Eggert  <eggert@twinsun.com>
63352
63353         * lib/minmax.h (MIN, MAX)
63354         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
63355         Omit the special code that used __typeof__, since we worry that
63356         it could be more trouble than it's worth.  See:
63357         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
63358         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
63359
63360         * lib/free.c: New file.
63361
63362 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
63363
63364         Trivial fixes to Makefile.am parts of module listings.
63365         * modules/strstr: Append strstr.h to lib_SOURCES.
63366         * modules/strcase: Likewise, for strcase.h.
63367
63368 2003-09-27  Karl Berry  <karl@gnu.org>
63369
63370         * config/mkinstalldirs: update from automake.
63371
63372 2003-09-26  Paul Eggert  <eggert@twinsun.com>
63373
63374         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
63375         (error_tail): Do not loop, reallocating temporary buffer, since
63376         the output cannot contain more wide characters than the input
63377         contains bytes, the size must be big enough already.  This avoids
63378         one potential size overflow calculation.  Check for size overflow
63379         when calculating temporary buffer size.  Free temporary buffer
63380         when done, if it was allocated with malloc; this plugs a memory
63381         leak.  Remove casts from void * to pointers, that are no longer
63382         needed now that we're assuming C89 or better.
63383
63384         Merge error changes from glibc.
63385
63386         * lib/error.c, error.h: Update copyright notice header to match glibc.
63387         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
63388         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
63389         Disable cancellation while printing error.
63390         * lib/error.h: Prepend __ to parameter names.
63391
63392 2003-09-26  Jim Meyering  <jim@meyering.net>
63393
63394         * lib/error.c (error_tail): Move some declarations
63395         into inner scope where the local variables are used.
63396
63397 2003-09-26  Bruno Haible  <bruno@clisp.org>
63398
63399         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
63400         stpncpy().
63401         Don't define stpncpy through config.h; it's now done through stpncpy.h.
63402
63403 2003-09-26  Bruno Haible  <bruno@clisp.org>
63404
63405         * lib/stpncpy.h (gnu_stpncpy): New declaration.
63406         (stpncpy): Define as alias for gnu_stpncpy.
63407         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
63408
63409 2003-09-25  Simon Josefsson  <jas@extundo.com>
63410
63411         * lib/xgetdomainname.h: New file.
63412         * lib/xgetdomainname.c: New file.
63413
63414 2003-09-25  Simon Josefsson  <jas@extundo.com>
63415             Bruno Haible  <bruno@clisp.org>
63416
63417         * modules/getdomainname: New file.
63418         * modules/xgetdomainname: New file.
63419         * MODULES.html.sh (func_all_modules): Add getdomainname,
63420         xgetdomainname.
63421
63422 2003-09-25  Simon Josefsson  <jas@extundo.com>
63423             Bruno Haible  <bruno@clisp.org>
63424
63425         * m4/getdomainname.m4: New file.
63426
63427 2003-09-25  Simon Josefsson  <jas@extundo.com>
63428             Bruno Haible  <bruno@clisp.org>
63429
63430         * lib/getdomainname.h: New file.
63431         * lib/getdomainname.c: New file.
63432
63433 2003-09-25  Karl Berry  <karl@gnu.org>
63434
63435         * lib/argp-fmtstream.c, argp-help.c: update from libc.
63436
63437 2003-09-25  Karl Berry  <karl@gnu.org>
63438
63439         * config/install-sh: update from automake.
63440
63441 2003-09-25  Bruno Haible  <bruno@clisp.org>
63442
63443         * modules/version-etc-2: New file, from modules/version-etc with
63444         modifications.
63445         * MODULES.html.sh (func_all_modules): Add version-etc-2.
63446
63447 2003-09-25  Bruno Haible  <bruno@clisp.org>
63448
63449         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
63450         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
63451
63452 2003-09-24  Simon Josefsson  <jas@extundo.com>
63453
63454         * modules/xgethostname: Add xgethostname.h.
63455
63456 2003-09-24  Paul Eggert  <eggert@twinsun.com>
63457
63458         * lib/linebuffer.c (freebuffer): Don't free the argument, just
63459         the buffer associated with the argument.  Bug reported by
63460         Simon Josefsson.
63461
63462 2003-09-24  Paul Eggert  <eggert@twinsun.com>
63463
63464         * README: Document assumptions that 'int' is at least 32 bits
63465         wide, that integer arithmetic is 2's complement without overflow,
63466         that there are no holes in integer values, that adding sizes of
63467         two nonoverlapping objects can't overflow, and that all-bits-zero
63468         yields scalar zero.  Fix spelling and capitalization typos.
63469
63470 2003-09-19  Karl Berry  <karl@gnu.org>
63471
63472         * lib/argp.h: update from libc.
63473
63474 2003-09-17  Paul Eggert  <eggert@twinsun.com>
63475
63476         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
63477         to avoid spurious warnings like "AC_RUN_IFELSE was called before
63478         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
63479
63480 2003-09-17  Paul Eggert  <eggert@twinsun.com>
63481
63482         * gnulib-tool: Use "test -h", not "test -L", for portability
63483         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
63484         (tags_regexp): Remove, since \| doesn't conform to POSIX.
63485         (sed_extract_prog): Issue s commands one-by-one, rather than
63486         using \| in one s command.
63487
63488 2003-09-16  Paul Eggert  <eggert@twinsun.com>
63489
63490         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
63491         input error, instead of returning NULL the next time we are called
63492         (and therefore losing track of errno).
63493
63494 2003-09-16  Bruno Haible  <bruno@clisp.org>
63495
63496         * gnulib-tool (func_create_testdir): Warn about duplicated
63497         dependencies.
63498
63499 2003-09-15  Paul Eggert  <eggert@twinsun.com>
63500
63501         * modules/argmatch, modules/fatal, modules/obstack,
63502         modules/xalloc, modules/xgethostname: Sort dependencies by
63503         importance, not alphabetically.
63504
63505 2003-09-15  Paul Eggert  <eggert@twinsun.com>
63506
63507         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
63508         fails, so that the caller gets the proper errno.
63509
63510         * lib/readutmp.c (read_utmp): Likewise.
63511         Check for fstat error.  Close stream and free storage
63512         when failing.
63513
63514 2003-09-14  Karl Berry  <karl@gnu.org>
63515
63516         * config/srclist.txt (strdup.c): disable for c89 changes.
63517
63518 2003-09-14  Jim Meyering  <jim@meyering.net>
63519
63520         * lib/getloadavg.c: Correct cpp indentation.
63521         * lib/strdup.c: Likewise.
63522         * lib/vasnprintf.c: Likewise.
63523
63524 2003-09-14  Bruno Haible  <bruno@clisp.org>
63525
63526         * modules/fwriteerror: New file.
63527         * MODULES.html.sh (func_all_modules): Add fwriteerror.
63528
63529 2003-09-14  Bruno Haible  <bruno@clisp.org>
63530
63531         * lib/fwriteerror.h: New file.
63532         * lib/fwriteerror.c: New file.
63533
63534 2003-09-12  Paul Eggert  <eggert@twinsun.com>
63535
63536         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
63537         modules/xgethostname, modules/xalloc: Depend on exit.
63538
63539 2003-09-12  Paul Eggert  <eggert@twinsun.com>
63540
63541         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
63542
63543         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
63544         and AC_MINIX, too, so that their extensions are available.
63545
63546         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
63547         This macro has been superseded by gl_BACKUPFILE.
63548
63549         More patches to assume C89 or better.
63550
63551         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
63552
63553         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
63554         unconditionally.
63555         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
63556         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
63557         Include <string.h>, <stdlib.h> unconditionally.
63558         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
63559         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
63560         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
63561         headers or for string.h.
63562         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
63563         or strtoul.
63564
63565         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
63566         headers.
63567         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
63568         * m4/userspec.m4 (gl_USERSPEC): Likewise.
63569         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
63570         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
63571         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
63572         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
63573         memcpy, memset.
63574         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
63575         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
63576         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
63577         strtol.
63578         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
63579         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
63580         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
63581         strtoul.
63582
63583 2003-09-12  Paul Eggert  <eggert@twinsun.com>
63584
63585         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
63586         * lib/obstack.c [!defined _LIBC]: Likewise.
63587         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
63588         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
63589         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
63590
63591         More changes to assume C89 or better.
63592
63593         * lib/error.c (error_tail): Assume vprintf.
63594
63595         * lib/argmatch.c (getenv): Remove decl.
63596         * lib/progreloc.c (get_full_program_name): Define via prototype.
63597         * lib/setenv.c (clearenv): Likewise.
63598         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
63599         needed.
63600         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
63601         (malloc, memcpy): Remove decls.
63602         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
63603         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
63604         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
63605         (memcpy): Remove macro.
63606         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
63607         (__P): Remove.  All uses removed.
63608         (PTR): Remove.  All uses changed to void *.
63609         (CHAR_BIT, NULL): Remove.
63610         (spaces, zeros, memset_space, memset_zero)
63611         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
63612         Remove.
63613         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
63614         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
63615         Define with prototype.
63616         Remove now-unnecessary prototype decl.
63617         (extra_args_spec): Assume ANSI C.  All uses changed.
63618         (extra_args_spec_iso): Remove.
63619         (my_strftime, emacs_strftimeu): Define via prototype.
63620         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
63621         unconditionally.
63622         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
63623         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
63624         (strtoul, strtol): Remove decls.
63625         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
63626         LONG_MAX): Remove.
63627         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
63628         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
63629         (LOCALE_PARAM_PROTO): New macro.
63630         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
63631         (INTERNAL (strtol), strtol): Define with a prototype.
63632         (PARAMS): Remove.  All uses removed.
63633         * lib/tempname.c: Include <string.h> unconditionally.
63634         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
63635         * lib/xgethostname.c (main): Define with a prototype.
63636         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
63637         Include <stdlib.h> unconditionally.
63638         (calloc, malloc, realloc, free): Remove decls.
63639         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
63640         Include <stdlib.h> unconditionally.  Sort include file names.
63641         (strtod): Remove.
63642         (xstrtod): Define with a prototype.
63643         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
63644         (strtol, strtoul): Remove decls.
63645
63646 2003-09-11  Paul Eggert  <eggert@twinsun.com>
63647
63648         More patches to assume C89 or better.
63649         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
63650         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
63651         string.h, memchr, STDC_HEADERS.
63652
63653 2003-09-11  Paul Eggert  <eggert@twinsun.com>
63654
63655         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
63656         Include <stdlib.h>, <string.h> unconditionally.
63657         Remove now-unnecessary cast to char *.
63658         * lib/strnlen.c: Include <string.h> unconditionally.
63659         * lib/yesno.c (yesno): Define with a prototype.
63660
63661 2003-09-11  Bruno Haible  <bruno@clisp.org>
63662
63663         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
63664
63665 2003-09-10  Jim Meyering  <jim@meyering.net>
63666
63667         * lib/error.c: Correct indentation of cpp directives.
63668
63669 2003-09-10  Bruno Haible  <bruno@clisp.org>
63670
63671         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
63672         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
63673         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
63674         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
63675         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
63676         <stdlib.h> and <string.h> checks.
63677         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
63678         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
63679
63680 2003-09-10  Bruno Haible  <bruno@clisp.org>
63681
63682         * lib/strcspn.c: Include <string.h> unconditionally.
63683         * lib/strpbrk.c: Include <string.h> unconditionally.
63684         * lib/strstr.c: Include <string.h> unconditionally.
63685         * lib/unicodeio.c: Include <string.h> unconditionally.
63686         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
63687         * lib/unsetenv.c: Likewise.
63688         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
63689         * lib/yesno.c: Include <stdlib.h> unconditionally.
63690         (rpmatch): Add prototype.
63691
63692 2003-09-09  Paul Eggert  <eggert@twinsun.com>
63693
63694         More patches to assume C89 or better.
63695         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
63696         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
63697         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
63698         or for string.h.
63699         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
63700         stdlib.h.
63701         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
63702         C headers.
63703         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
63704         string.h.
63705         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
63706         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
63707         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
63708         or for string.h.
63709         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
63710         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
63711         C headers.
63712         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
63713         memcpy.
63714         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
63715         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
63716         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
63717         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
63718         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
63719         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
63720         string.h, free.
63721         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
63722         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
63723         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
63724         C headers, or for string.h.
63725         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
63726         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
63727         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
63728         headers, memory.h, stdlib.h, string.h, strings.h.
63729         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
63730         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
63731         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
63732         strchr.
63733         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
63734         headers, memory.h, string.h.
63735         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
63736         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
63737         free.
63738         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
63739         headers.
63740         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
63741         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
63742         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
63743         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
63744         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
63745
63746 2003-09-09  Paul Eggert  <eggert@twinsun.com>
63747
63748         More K&R removal.
63749
63750         * lib/acosl.c (main): Use a prototype.
63751         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
63752         tanl.c: Likewise.
63753
63754         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
63755
63756         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
63757         (getopt, etopt_long, getopt_long_only, _getopt_internal)
63758         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
63759         with a prototype.
63760         * lib/getopt.c (const): Remove macro.
63761         Include <string.h> unconditionally.
63762         (my_index): Remove; all uses changed to strchr.
63763         (strlen): Remove decl.
63764         (exchange): Remove forward decl; no longer needed.
63765         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
63766         Define with prototype.
63767         * lib/getopt1.c (const): Remove macro.
63768         (getopt_long, getopt_long_only, main): Define with prototype.
63769
63770         * lib/getugroups.c: Include <string.h> unconditionally.
63771
63772         * lib/getusershell.c: Include <stdlib.h> unconditionally.
63773         (getusershell, setusershell, endusershell, readname, main):
63774         Define with prototypes.
63775
63776         * lib/group-member.c: Include group-member.h first.
63777         Include <stdlib.h> unconditionally.
63778
63779         * lib/hard-locale.c: Include hard-locale.h first.
63780         Include <stdlib.h>, <string.h> unconditionally.
63781
63782         * lib/hash.c (free, malloc): Remove decls.
63783         Include <stdlib.h> unconditionally.
63784
63785         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
63786         (getenv): Do not declare.
63787
63788         * lib/idcache.c: Include <string.h> unconditionally.
63789
63790         * lib/long-options.c: Include long-options.h first, to test interface.
63791         Include <stdlib.h> unconditionally.
63792
63793         * lib/makepath.c: Include makepath.h first, to test interface.
63794         Include <stdlib.h> and <string.h> unconditionally.
63795
63796         * lib/linebuffer.c: Include <stdlib.h>.
63797         (free): Remove decl.
63798
63799         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
63800         stddef.h. rpl_malloc returns void *, not char *.
63801         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
63802         prototype.
63803
63804         * lib/md5.h: Include <limits.h> unconditionally.
63805         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
63806         (__P): Remove; all uses removed.
63807         * lib/md5.c: Include "md5.h" first.
63808         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
63809         md5_buffer, md5_process_bytes, md5_process_block):
63810         Define with prototypes.
63811         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
63812         * lib/sha.c: Include "sha.h" first.
63813         Include <stdlib.h>, <string.h> unconditionally.
63814
63815         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
63816         * lib/memcmp.c (__ptr_t): Likewise.
63817         * lib/memrchr.c (__ptr_t): Likewise.
63818         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
63819         Include <string.h> unconditionally.
63820         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
63821         * lib/memchr.c: Include <stdlib.h> unconditionally.
63822         * lib/memchr.c (LONG_MAX): Remove.
63823         * lib/memrchr.c (LONG_MAX): Likewise.
63824         * lib/memchr.c (__memchr): Define via a prototype.
63825         * lib/memrchr.c (__memrchr): Likewise.
63826         * lib/memcmp.c (__P): Remove, and remove all uses.
63827         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
63828         Remove forward decls; no longer needed.
63829         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
63830         Use types required by C89 in prototype.
63831
63832         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
63833         * lib/savedir.c: Likewise.
63834         * lib/mkdir.c (free): Remove decl.
63835         * lib/rmdir.c (rmdir): Define with a prototype.
63836         * lib/savedir.c: Include savedir.h first, to test interface.
63837
63838         * lib/mktime.c (STDC_HEADERS): Remove.
63839         Include <stdlib.h>, <string.h> unconditionally.
63840
63841         * lib/modechange.c: Include <stdlib.h> unconditionally.
63842         (malloc): Remove decl.
63843
63844         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
63845         (free): Remove decl.
63846
63847         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
63848         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
63849         (This type really should be intptr_t, but that's a C99ism.)
63850         (_obstack_memcpy): Remove: all uses changed to memcpy.
63851         Include <string.h> unconditionally.
63852         (struct obstack): Assume __STDC__ for types of members
63853         chunkfun, freefun, extra_arg.
63854         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
63855         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
63856         obstack_begin, obstack_specify_allocation,
63857         obstack_specify_allocation_with_arg, obstack_chunkfun,
63858         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
63859         Remove unprototyped decls and the macros that use them.
63860         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
63861         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
63862         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
63863         (defined __STDC__ && __STDC__)]:
63864         Remove nonprototyped code.
63865         Include <stdlib.h> unconditionally.
63866         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
63867         _obstack_allocated_p, _obstack_free, obstack_free,
63868         _obstack_memory_used, print_and_abort):
63869         Define using prototypes.
63870         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
63871         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
63872         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
63873         obstack_next_free, obstack_object_size, obstack_room) [0]:
63874         Remove unused, unprototyped code.
63875
63876         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
63877
63878         * lib/physmem.c (physmem_total, physmem_available, main): Define
63879         with prototypes.
63880
63881         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
63882         (main): Define with a prototype.
63883
63884         * lib/posixver.c (getenv): Remove decl.
63885
63886         * lib/putenv.c (malloc): Returns void *, not char *.
63887         Include <string.h> unconditionally.
63888         (strchr, memcpy, NULL): Do not define.
63889
63890         * lib/readtokens.c: Include readtokens.h first, to test interface.
63891         Include <stdlib.h>, <string.h> unconditionally.
63892         (init_tokenbuffer): Define with a prototype.
63893
63894         * lib/regex.c (PARAMS): Remove.  All uses removed.
63895         All uses of _RE_ARGS removed, too.
63896         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
63897         unconditionally.
63898         (bzero): Assume memset exists.
63899         (memcmp, memcpy, NULL): Remove.
63900         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
63901         char, or assignments to local vars of type signed char.
63902         (init_syntax_once, PREFIX(extract_number_and_incr),
63903         PREFIX(print_partial_compiled_pattern),
63904         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
63905         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
63906         PREFIX(regex_grow_registers), PREFIX(regex_compile),
63907         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
63908         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
63909         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
63910         wcs_compile_range, byte_compile_range, truncate_wchar,
63911         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
63912         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
63913         count_mbs_length, wcs_re_match_2_internal,
63914         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
63915         PREFIX(alt_match_null_string_p),
63916         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
63917         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
63918         regfree, PREFIX(extract_number)): Define with prototype.  Remove
63919         now-unnecessary declaration, if any.
63920         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
63921         regcomp, regexec):
63922         Remove now-unnecessary casts among pointer types.
63923         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
63924
63925         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
63926         (free): Remove decl.
63927
63928         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
63929
63930         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
63931         (free): Remove decl.
63932
63933         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
63934         * lib/xgetcwd.c: Likewise.
63935
63936         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
63937         (free): Remove decl.
63938
63939         * lib/strchrnul.c (strchrnul): Define with a prototype.
63940         Fix bug: c_in was not converted to char before searching.
63941
63942         The following changes are not K&R related:
63943
63944         * lib/group-member.h: Include <sys/types.h>, so that this file is
63945         self-contained.
63946         * lib/makepath.h: Likewise.
63947
63948         * lib/getusershell.c (readname, default_index, line_size, readname):
63949         Use size_t, not int, for sizes.
63950         (readname): If the size overflows, report an error instead of
63951         looping forever.
63952
63953 2003-09-09  Paul Eggert  <eggert@twinsun.com>
63954
63955         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
63956         libc.
63957
63958 2003-09-09  Paul Eggert  <eggert@twinsun.com>
63959
63960         * README: New section: portability guidelines.
63961
63962 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
63963
63964         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
63965         C89 spec.
63966
63967 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
63968
63969         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
63970
63971 2003-09-08  Paul Eggert  <eggert@twinsun.com>
63972
63973         Assume C89 or better; remove K&R cruft.
63974         A few of these changes were first proposed by Derek Robert Price
63975         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
63976
63977         * lib/addext.c: Include <string.h> unconditionally.
63978         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
63979         Don't declare getenv or malloc.
63980
63981         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
63982         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
63983         (NULL): Remove.
63984         (find_stack_direction, alloca): Use prototypes.
63985
63986         * lib/atexit.c (atexit): Define using a prototype.
63987
63988         * lib/basename.c, dirname.c, stripslash.c:
63989         Include <string.h> unconditionally.
63990
63991         * lib/bcopy.c: Include <stddef.h>.
63992         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
63993
63994         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
63995
63996         * lib/error.h (error, error_at_line, error_print_progname)
63997         [! (defined (__STDC__) && __STDC__)]: Remove decls.
63998         * lib/error.c: Include error.h first, to check interface.
63999         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
64000         (VA_START): Remove; all uses changeed to va_start.
64001         (exit, strerror): Remove decls.
64002         (error_print_progname): Prototype uncondionally.
64003         Don't include <errno.h>; no longer needed.
64004         (private_strerror): Remove.
64005         (error_tail): Always define.
64006         (error, error_at_line): Assume C89 or better; always use prototypes.
64007         * lib/fatal.c: Include "fatal.h" first, to test interface.
64008         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
64009         (VA_START): Remove; all uses changed to va_start.
64010         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
64011         this case.
64012         (exit): Remove decl.
64013         (fatal): Prototype unconditionally.  Assume va_start works.
64014         Abort at end, to pacify gcc.
64015
64016         * lib/euidaccess.c (main): Define with a prototype.
64017
64018         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
64019
64020         * lib/exitfail.c: Include <stdlib.h> unconditionally.
64021
64022         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
64023         prototypes.
64024         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
64025         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
64026         (getenv): Remove decl.
64027         (fnmatch): Define using a prototype.
64028         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
64029         (FCT): Define using a prototype.
64030
64031         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
64032
64033         * lib/gethostname.c: Include <stddef.h>.
64034         (gethostname): Define with prototype.  Length is size_t, not int.
64035
64036 2003-09-08  Paul Eggert  <eggert@twinsun.com>
64037
64038         Assume C89 or better; remove K&R cruft.
64039         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
64040         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
64041         string.h, getenv, malloc.
64042         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
64043         headers.
64044         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
64045         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
64046         do not check for strerror.
64047         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
64048         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
64049         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
64050         do not check for doprnt or vprintf.
64051         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
64052         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
64053
64054 2003-09-08  Paul Eggert  <eggert@twinsun.com>
64055
64056         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
64057         getversion.c should have been removed then, but was accidentally
64058         preserved.
64059
64060         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
64061         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
64062
64063 2003-09-08  Karl Berry  <karl@gnu.org>
64064
64065         * config/config.sub, config.guess, srclistvars.sh: update from savannah
64066                 config, forget about prep.
64067
64068         * config/depcomp, missing: update from automake.
64069
64070 2003-09-07  Paul Eggert  <eggert@twinsun.com>
64071
64072         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
64073         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
64074
64075 2003-09-07  Paul Eggert  <eggert@twinsun.com>
64076
64077         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
64078         copy_tm_result.  Bug reported by Simon Josefsson in
64079         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
64080
64081 2003-09-06  Paul Eggert  <eggert@twinsun.com>
64082
64083         * m4/time_r.m4: New file.
64084         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
64085         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
64086         is. Check for timegm declaration.
64087         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
64088         Do not check for gmtime_r.
64089         Replace mktime if __mktime_internal does not exist and if mktime
64090         hasn't been replaced already.
64091
64092 2003-09-06  Paul Eggert  <eggert@twinsun.com>
64093
64094         * lib/time_r.c, lib/time_r.h: New files.
64095
64096         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
64097         __localtime_r.
64098         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
64099         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
64100
64101         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
64102         __gmtime_r.
64103         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
64104         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
64105         Include <time_r.h>.
64106
64107         * lib/timegm.c: Switch to glibc implementation, with the following
64108         changes:
64109         [defined HAVE_CONFIG_H]: Include <config.h>.
64110         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
64111         (__mktime_internal) [!defined _LIBC]: New decl.
64112         (__gmtime_r) [!defined _LIBC]: New macro and function.
64113         (timegm): Use a prototype, since gnulib assumes C89.
64114         Do not bother declaring tmp to be const, as it's not really usefu.
64115         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
64116         (timegm): Declare only if HAVE_DECL_TIMEGM.
64117
64118 2003-09-06  Paul Eggert  <eggert@twinsun.com>
64119
64120         * MODULES.html.sh (func_all_modules): Add time_r.
64121         * modules/time_r: New file.
64122         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
64123         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
64124
64125 2003-09-03  Paul Eggert  <eggert@twinsun.com>
64126
64127         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
64128         Bug reported by Lute Kamstra in
64129         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
64130
64131         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
64132         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
64133         course with correspondingly smaller numbers for tomorrow and
64134         yesterday.  From Tadayoshi Funaba.  Originally installed into
64135         sh-utils on 1999-08-07, but the patch got lost (I guess during the
64136         coreutils merge?).
64137
64138 2003-08-31  Simon Josefsson  <jas@extundo.com>
64139
64140         * modules/timegm: New file.
64141         * MODULES.html.sh (func_all_modules): Add timegm.
64142
64143 2003-08-31  Simon Josefsson  <jas@extundo.com>
64144
64145         * m4/timegm.m4: New file.
64146
64147 2003-08-31  Simon Josefsson  <jas@extundo.com>
64148
64149         * lib/timegm.h: New file.
64150         * lib/timegm.c: New file.  Based on
64151         wget-1.8.2/src/http.c:mktime_from_utc.
64152
64153 2003-08-31  Karl Berry  <karl@gnu.org>
64154
64155         * lib/argp.h: update from libc.
64156
64157 2003-08-28  Bruno Haible  <bruno@clisp.org>
64158
64159         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
64160         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
64161         followed by '#define fnmatch fnmatch_posix' gives an error.
64162
64163 2003-08-28  Bruno Haible  <bruno@clisp.org>
64164
64165         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
64166         warning on QNX, which defines O_BINARY to 000000.
64167
64168 2003-08-27  Jim Meyering  <jim@meyering.net>
64169
64170         * m4/mkstemp.m4: Require that the system mkstemp be able to create
64171         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
64172         would fail after 32.  Reported by Danny Levinson.  Details here:
64173         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
64174
64175 2003-08-24  Bruno Haible  <bruno@clisp.org>
64176
64177         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
64178         MSVC7 <stdio.h> is included later.
64179
64180 2003-08-22  Simon Josefsson  <jas@extundo.com>
64181
64182         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
64183
64184 2003-08-20  Karl Berry  <karl@gnu.org>
64185
64186         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
64187
64188 2003-08-20  Bruno Haible  <bruno@clisp.org>
64189
64190         * modules/progname: New file.
64191         * MODULES.html.sh (func_all_modules): Add progname.
64192
64193 2003-08-20  Bruno Haible  <bruno@clisp.org>
64194
64195         * lib/progname.h: New file, from GNU gettext.
64196         * lib/progname.c: New file, from GNU gettext.
64197         * lib/progreloc.c: New file, from GNU gettext.
64198
64199 2003-08-19  Jim Meyering  <jim@meyering.net>
64200
64201         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
64202         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
64203
64204 2003-08-19  Bruno Haible  <bruno@clisp.org>
64205
64206         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
64207         more.
64208
64209 2003-08-19  Bruno Haible  <bruno@clisp.org>
64210
64211         * lib/xstrdup.c: Assume <string.h> exists.
64212
64213 2003-08-18  Paul Eggert  <eggert@twinsun.com>
64214
64215         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
64216         in makefile rules.
64217
64218 2003-08-18  Jim Meyering  <jim@meyering.net>
64219
64220         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
64221         * m4/lib-ld.m4: Likewise.
64222
64223 2003-08-18  Jim Meyering  <jim@meyering.net>
64224
64225         * lib/setenv.h: Indent nested cpp directive.
64226         * lib/vasnprintf.c: Remove trailing blanks.
64227
64228 2003-08-17  Simon Josefsson  <jas@extundo.com>
64229
64230         * modules/xstrndup: New file.
64231         * MODULES.html.sh (func_all_modules): Add xstrndup.
64232
64233 2003-08-17  Simon Josefsson  <jas@extundo.com>
64234
64235         * modules/argp: Fix autoconf macro name. Add more dependencies.
64236
64237 2003-08-17  Simon Josefsson  <jas@extundo.com>
64238
64239         * m4/xstrndup.m4: New file.
64240
64241 2003-08-17  Simon Josefsson  <jas@extundo.com>
64242
64243         * m4/argp.m4: New file.
64244
64245 2003-08-17  Simon Josefsson  <jas@extundo.com>
64246             Bruno Haible  <bruno@clisp.org>
64247
64248         * lib/xstrndup.h: New file.
64249         * lib/xstrndup.c: New file.
64250
64251 2003-08-17  Bruno Haible  <bruno@clisp.org>
64252
64253         * modules/strndup (Files, Include): Add lib/strndup.h.
64254
64255 2003-08-17  Bruno Haible  <bruno@clisp.org>
64256
64257         * modules/euidaccess (Files): Add lib/euidaccess.h.
64258
64259 2003-08-17  Bruno Haible  <bruno@clisp.org>
64260
64261         * lib/strndup.h: New file.
64262
64263 2003-08-17  Bruno Haible  <bruno@clisp.org>
64264
64265         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
64266         like AC_GNU_SOURCE.
64267         * modules/extensions (configure.ac): Comment out the invocation of
64268         gl_USE_SYSTEM_EXTENSIONS.
64269
64270 2003-08-16  Paul Eggert  <eggert@twinsun.com>
64271
64272         Merges from coreutils, etc.
64273         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
64274         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
64275         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
64276         fixing a typo.
64277         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
64278         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
64279
64280 2003-08-16  Paul Eggert  <eggert@twinsun.com>
64281
64282         Document merge from coreutils.
64283         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
64284         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
64285         * modules/utime: Add m4/utimes-null.m4.
64286
64287 2003-08-16  Paul Eggert  <eggert@twinsun.com>
64288
64289         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
64290         space, undoing this 2003-08-12 change:
64291         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
64292
64293 2003-08-16  Paul Eggert  <eggert@twinsun.com>
64294
64295         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
64296         strtoul.c from libc, undoing this 2003-08-12 change:
64297         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
64298
64299 2003-08-16  Jim Meyering  <jim@meyering.net>
64300
64301         Merges from coreutils.
64302         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
64303         prefix.  Adjust cache variables similarly.  Create 500 rather than
64304         just 300 files, to exercise bug on Darwin6.5, too.
64305         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
64306         $missing_dir.
64307         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
64308         AM_SYS_POSIX_TERMIOS.
64309         Reported by mkc@mathdogs.com.
64310         Also change use of $am_cv_sys_posix_termios
64311         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
64312         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
64313         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
64314         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
64315         in /proc/mounts until it finds one with matching device number.  This
64316         is unnecessary when the FILE argument *is* a mount point.  No stat call
64317         is necessary in that case.  So, disable the statvfs-testing code on
64318         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
64319         as RedHat bug# 84846.
64320         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
64321         to 1MB, so as not to render systems with no stack size limit (e.g.,
64322         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
64323         Include <unistd.h>.  On some systems,
64324         it is required for the definition of _SC_PAGESIZE.
64325
64326 2003-08-16  Jim Meyering  <jim@meyering.net>
64327
64328         Merge from coreutils.
64329         * lib/xstrtoimax.c: #else #if -> #elif.
64330         * lib/xstrtoumax.c: Likewise.
64331
64332 2003-08-16  Jim Meyering  <jim@meyering.net>
64333
64334         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
64335         * m4/utimes.m4: Removed.
64336         * m4/utimes-null.m4: Renamed from utimes.m4.
64337
64338         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
64339         to 1MB, so as not to render systems with no stack size limit (e.g.,
64340         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
64341         Include <unistd.h>.  On some systems,
64342         it is required for the definition of _SC_PAGESIZE.
64343
64344 2003-08-16  Jim Meyering  <jim@meyering.net>
64345         and Paul Eggert  <eggert@cs.ucla.edu>
64346
64347         Merges from coreutils, etc.
64348
64349         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
64350         using the latest version from cvs.  This avoids problems with #line
64351         directives using a vendor (Sun) compiler.
64352         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
64353         Don't set GETGROUPS_LIB here; now it's
64354         done via getgroups.m4's wrapper function.
64355         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
64356         rather than just in sh-util/configure.in, so that the
64357         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
64358         same.
64359         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
64360         AC_FUNC_GETLOADAVG where to find getloadavg.c.
64361         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
64362         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
64363         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
64364         Remove code that is now done by the newly-required macros.
64365         Append $(EXEEXT) to DF_PROG.
64366         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
64367         Do not invoke or require the following here,
64368         since prereq.m4 or some gnulib .m4 now does this for us:
64369         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
64370         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
64371         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
64372         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
64373         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
64374         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
64375         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
64376         AC_FUNC_OBSTACK.
64377         Do not replace the following functions, as this is now the job
64378         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
64379         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
64380         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
64381         atexit getpass, strdup, getpagesize.
64382         Replace 'raise'.
64383         Do not check for the following functions, as this is now the job
64384         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
64385         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
64386         setregid.
64387         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
64388         Check for sys/sysctl.h.
64389         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
64390         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
64391         of checking for ssize_t ourselves.
64392
64393         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
64394         Require every macro that gnulib/modules/* suggests for us.
64395         (jm_PREREQ_ADDEXT): New macro.
64396         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
64397         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
64398
64399         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
64400         (gl_PHYSMEM): Use it.
64401         Also check for `table' function.
64402         Check for new headers and functions.
64403         Add check for sys/sysmp.h.
64404         With suggestions from Kaveh Ghazi.
64405         Ignore headers that are present but cannot be compiled.  This
64406         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
64407         C 5.4.
64408
64409 2003-08-15  Paul Eggert  <eggert@twinsun.com>
64410
64411         Document merge from coreutils.
64412         * modules/userspec: Depend on posixver.
64413         * modules/strftime: Depend on tzset.
64414
64415 2003-08-15  Paul Eggert  <eggert@twinsun.com>
64416
64417         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
64418         rather than tab, after '#' in shell-script copyright notices.
64419         Suggested by Bruno Haible.
64420
64421 2003-08-15  Paul Eggert  <eggert@twinsun.com>
64422
64423         * config/srclist-update: Use three spaces, rather than tab, after '#'
64424         in shell-script copyright notices.  Suggested by Bruno Haible.
64425         Remove unnecessary parenthesization in regular expression.
64426
64427 2003-08-15  Jim Meyering  <jim@meyering.net>
64428
64429         Merge from coreutils.
64430         * lib/xgethostname.c: Include <stdlib.h>.
64431         (xghostname): Don't exit for anything other than memory-related
64432         failure; just return NULL.
64433         * lib/userspec.c: Include "posixver.h".
64434         (parse_user_spec): Accept `.' as a separator only
64435         in pre-POSIX-200112 mode.
64436         * lib/strtoimax.c: Use #elif rather than #else #if.
64437         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
64438         Remove function, now that we can rely on a working tzset function.
64439         [!_LIBC]: Ensure that the required autoconf test has been run.
64440         [!defined _NL_CURRENT && HAVE_STRFTIME]:
64441         Use underlying_strftime for %r.
64442         * lib/sha.c: Merge in some clean-up and optimization changes from
64443         glibc.
64444         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
64445         Ensure that it is a multiple of 64.
64446         Rearrange loop exit tests so as to avoid performing an
64447         additional fread after encountering an error or EOF.
64448         * lib/realloc.c: Update copyright date.
64449
64450 2003-08-15  Jim Meyering  <jim@meyering.net>
64451         and Paul Eggert  <eggert@twinsun.com>
64452
64453         Merge from coreutils.
64454         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
64455         member but strut utmpx does not.  Needed for AIX 4.3.3.
64456         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
64457
64458 2003-08-15  Jim Meyering  <jim@meyering.net>
64459         and Paul Eggert  <eggert@cs.ucla.edu>
64460
64461         Merges from coreutils, etc.
64462         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
64463         Require gl_FUNC_TZSET_CLOBBER.
64464         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
64465         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
64466         members.
64467
64468 2003-08-14  Paul Eggert  <eggert@twinsun.com>
64469
64470         Help the merge from coreutils.
64471         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
64472         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
64473         * m4/tzset.m4: Use it too.
64474
64475 2003-08-14  Paul Eggert  <eggert@twinsun.com>
64476
64477         * modules/tzset: New file.
64478
64479 2003-08-14  Jim Meyering  <jim@meyering.net>
64480
64481         Merges from coreutils.
64482         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
64483         variable names, rather than @FNMATCH_H@.
64484         * modules/alloca: Likewise for $(ALLOCA_H).
64485
64486         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
64487         the three copies of the literal target, `fnmatch.h'.
64488         * modules/alloca (alloca.h): Likewise.
64489
64490 2003-08-14  Jim Meyering  <jim@meyering.net>
64491
64492         Merge from coreutils.
64493         * m4/tzset.m4: New file.
64494         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
64495         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
64496         otherwise, AIX 5.1 systems would end up using the latter.
64497         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
64498         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
64499         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
64500         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
64501
64502 2003-08-14  Jim Meyering  <jim@meyering.net>
64503
64504         Merge from coreutils.
64505         * lib/obstack.h: Whitespace changes.
64506         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
64507         and xcalloc return values.
64508         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
64509         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
64510         hang on OSF/1 5.1 for DIR on both local and remote file systems.
64511         Reported by (and fix confirmed by) Nelson H. F. Beebe.
64512         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
64513         error from mntctl.
64514         Use mntctl's return value to drive the entry-processing loop, since
64515         we can't rely on the value of the vmt_length member in the last
64516         entry.  On some systems doing so could result in exhausting
64517         virtual memory.  Based in part on a patch from Mike Jetzer.
64518
64519 2003-08-14  Jim Meyering  <jim@meyering.net>
64520         and Paul Eggert  <eggert@twinsun.com>
64521
64522         Merges from coreutils, plus other fixes.
64523         * lib/physmem.c: Merge in portability changes from gcc/libiberty
64524         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
64525         for credits and details.  Thanks to Kaveh Ghazi for helping
64526         to keep these files in sync.
64527         (ARRAY_SIZE): Define it.
64528         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
64529         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
64530         (memcasecmp): Don't assume size_t fits in unsigned int.
64531         Remove casts and duplicate code.
64532         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
64533         (memcpy): Remove definition.
64534         Merge in some clean-up and optimization changes from glibc.
64535         [BLOCKSIZE]: Move definition to top of file.
64536         Ensure that it is a multiple of 64.
64537         Rearrange loop exit tests so as to avoid performing an
64538         additional fread after encountering an error or EOF.
64539         * lib/md5.h (md5_uintptr): Define.
64540         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
64541         return to the initial working directory.  Preserve errno
64542         for caller.
64543         * lib/idcache.c: Include "xalloc.h".
64544         (xmalloc, xrealloc): Remove decls.
64545         (getuser): Remove casts no longer required in C89.
64546         * lib/human.c: Include stdio.h, for sprintf.
64547         * lib/group-member.c: Include "xalloc.h".
64548         (xmalloc, xrealloc): Remove decls.
64549         (get_group_info): Remove casts no longer required in C89.
64550         * lib/getusershell.c (readname): Remove casts no longer required in
64551         C89.
64552         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
64553         * lib/getline.c: Whitespace fix, from coreutils.
64554
64555 2003-08-13  Paul Eggert  <eggert@twinsun.com>
64556
64557         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
64558         Check for isascii.
64559
64560         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
64561         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
64562         Undo previous (whitespace-only) change.
64563
64564 2003-08-13  Paul Eggert  <eggert@twinsun.com>
64565
64566         * lib/exclude.c: Include <ctype.h>
64567         (IN_CTYPE_DOMAIN): New macro.
64568         (is_space): New fn.
64569         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
64570         and empty lines.
64571
64572         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
64573         Undo previous (whitespace-only) change.
64574
64575 2003-08-13  Paul Eggert  <eggert@twinsun.com>
64576
64577         * config/srclist-update: Change update back to the old behavior,
64578         leaving whitespace alone.  Use one 'sed' command rather than a
64579         pipeline.
64580         (fixlicense): Now a variable, not a function.
64581         (remove_trailing_blanks): Remove.
64582         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
64583         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
64584         Undo previous (whitespace-only) change.
64585
64586 2003-08-12  Paul Eggert  <eggert@twinsun.com>
64587
64588         Merge from coreutils.
64589         * modules/euidaccess: Add lib_SOURCES, include for new
64590         file euidaccess.h
64591
64592 2003-08-12  Paul Eggert  <eggert@twinsun.com>
64593
64594         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
64595         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
64596         Normalize leading white space and remove trailing white space.
64597
64598         Merge from coreutils
64599         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
64600
64601         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
64602         0.12.1.  These files are now being upgraded automatically by
64603         ../config/srclist-update.
64604
64605 2003-08-12  Paul Eggert  <eggert@twinsun.com>
64606
64607         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
64608         Normalize leading white space and remove trailing white space.
64609         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
64610         notice, as per ../config/srclist-update.
64611
64612         Merge from coreutils.
64613         * lib/euidaccess.h: New file.
64614         * lib/euidaccess.c: Include it.
64615         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
64616         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
64617         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
64618
64619 2003-08-12  Paul Eggert  <eggert@twinsun.com>
64620
64621         * config/srclist-update: Add copyright notice.
64622         (remove_id_lines, remove_trailing_blanks): New constants.
64623         (fixfile): Use them to normalize spacing a bit in copied files.
64624         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
64625         Normalize leading white space and remove trailing white space.
64626
64627         * config/texinfo.tex: Sync with texinfo.
64628
64629         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
64630         strtoul.c from libc, to merge coreutils whitespace changes.
64631
64632         * config/srclist.txt: Get the following m4 files from gettext:
64633         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
64634         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
64635         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
64636         wint_t.m4.
64637
64638 2003-08-12  Karl Berry  <karl@gnu.org>
64639
64640         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
64641         been made.
64642
64643 2003-08-11  Paul Eggert  <eggert@twinsun.com>
64644
64645         * modules/gnu-source, m4/gnu-source.m4:
64646         Remove; we're assuming Autoconf 2.54 or later now.
64647         Suggested by Bruno Haible.
64648         * MODULES.html.sh (func_all_modules): Remove gnu-source.
64649
64650 2003-08-11  Bruno Haible  <bruno@clisp.org>
64651
64652         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
64653
64654 2003-08-11  Bruno Haible  <bruno@clisp.org>
64655
64656         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
64657         (vasnprintf): Use it instead of wcslen.
64658
64659 2003-08-11  Bruno Haible  <bruno@clisp.org>
64660
64661         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
64662         value to ensure that _Bool promotes to int. Use #define for _Bool when
64663         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
64664
64665 2003-08-10  Karl Berry  <karl@gnu.org>
64666
64667         * lib/regex.h: update from libc (whitespace fix).
64668
64669 2003-08-09  Paul Eggert  <eggert@twinsun.com>
64670
64671         Merge some files from coreutils.  These changes were
64672         originally made by Jim Meyering.
64673         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
64674         many older Unixes require this.
64675         * lib/alloca.c (alloca): Remove cast to argument of free;
64676         no longer needed in C89.
64677         * lib/alloca_.h, regex.h: Fix white space to match
64678         what GNU indent does.
64679
64680 2003-08-09  Paul Eggert  <eggert@twinsun.com>
64681
64682         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
64683         apparently Emacs's Unicode mode got confused before my 2003-08-05
64684         checkin.
64685
64686 2003-08-08  Paul Eggert  <eggert@twinsun.com>
64687
64688         * m4/extensions.m4: New file.
64689         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
64690         Require gl_USE_SYSTEM_EXTENSIONS.
64691         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
64692         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
64693
64694 2003-08-08  Paul Eggert  <eggert@twinsun.com>
64695
64696         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
64697         * modules/extensions, modules/gnu-source: New files.
64698         * modules/timespec, modules/unlocked-io: Depend on extensions.
64699
64700 2003-08-07  Paul Eggert  <eggert@twinsun.com>
64701
64702         * modules/restrict: New file.
64703         * MODULES.html.sh (func_all_modules): Add restrict.
64704         * modules/regex: Depend on restrict.
64705
64706 2003-08-07  Paul Eggert  <eggert@twinsun.com>
64707
64708         * m4/restrict.m4: New file.
64709         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
64710
64711 2003-08-07  Bruno Haible  <bruno@clisp.org>
64712
64713         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
64714         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
64715
64716 2003-08-07  Bruno Haible  <bruno@clisp.org>
64717
64718         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
64719         makes the module 'getndelim2' compatible with the module 'getline'.
64720
64721 2003-08-05  Paul Eggert  <eggert@twinsun.com>
64722
64723         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
64724         byte with "\201" to avoid glitches when editing that source file
64725         with multi-gnome-terminal.
64726
64727 2003-08-05  Paul Eggert  <eggert@twinsun.com>
64728
64729         * lib/bumpalloc.h: Remove.
64730
64731 2003-08-05  Paul Eggert  <eggert@twinsun.com>
64732
64733         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
64734         * modules/bumpalloc: Remove.
64735
64736 2003-08-04  Paul Eggert  <eggert@twinsun.com>
64737
64738         * lib/getloadavg.c: Change copyright notice and spacing to conform to
64739         GNU coding style.
64740
64741         Merge from coreutils.
64742         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
64743         1. From glibc.
64744         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
64745         from Karl Berry, implemented by Jim Meyering.
64746         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
64747         from Dmitry V. Levin.
64748         Remove anachronistic cast of xrealloc.
64749         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
64750         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
64751         type. Otherwise, it wouldn't compile with at least /bin/cc on
64752         ymp-cray-unicos9.0.2.X.
64753         Combine two mostly-identical uses of alloca into one.
64754         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
64755
64756 2003-08-04  Dave Love  <d.love@dl.ac.uk>
64757
64758         [From Emacs.]
64759
64760         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
64761         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
64762         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
64763         obsolete NLIST_NAME_UNION.
64764         [__GNU__]: Undef BSD and FSCALE.
64765         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
64766
64767 2003-08-03  Paul Eggert  <eggert@twinsun.com>
64768
64769         * lib/stdbool_.h (_Bool): Make it signed char, instead of
64770         an enum type, so that it's guaranteed to promote to int.  See:
64771         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
64772
64773 2003-08-03  Karl Berry  <karl@gnu.org>
64774
64775         * config/depcomp: update from automake.
64776
64777 2003-07-31  Paul Eggert  <eggert@twinsun.com>
64778
64779         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
64780         (strerror): Don't assume that a printable int fits in 14 bytes.
64781
64782 2003-07-31  Bruno Haible  <bruno@clisp.org>
64783
64784         * modules/getpass-gnu: New file.
64785         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
64786
64787 2003-07-31  Bruno Haible  <bruno@clisp.org>
64788
64789         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
64790
64791 2003-07-24  Karl Berry  <karl@gnu.org>
64792
64793         * config/missing: update from automake.
64794
64795 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
64796             Bruno Haible  <bruno@clisp.org>
64797
64798         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
64799         * lib/getline.c (getline, getdelim): Likewise.
64800         Remove _GNU_SOURCE define; now it's defined in config.h through
64801         m4/getline.m4.
64802
64803 2003-07-23  Karl Berry  <karl@gnu.org>
64804
64805         * config/config.sub: update from prep.
64806
64807 2003-07-22  Paul Eggert  <eggert@twinsun.com>
64808
64809         * modules/xalloc (Depends-on): Add exitfail.
64810         * modules/xmemcoll: Likewise.
64811
64812 2003-07-22  Paul Eggert  <eggert@twinsun.com>
64813
64814         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
64815         over-parenthesization in macros.
64816
64817         Sync with coreutils.
64818
64819         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
64820         required by C99.
64821
64822         Use `exit_failure' for xalloc and xmemcoll instead of their own
64823         private exit-failure variables.
64824         * lib/xalloc.h (xalloc_exit_failure): Remove.
64825         * lib/xmalloc.c: Likewise.  Include exitfail.h.
64826         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
64827         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
64828         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
64829         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
64830
64831 2003-07-20  Jim Meyering  <jim@meyering.net>
64832
64833         * modules/closeout (Depends-on): Add exitfail.
64834         Suggestion from Bruno Haible.
64835
64836 2003-07-19  Karl Berry  <karl@gnu.org>
64837
64838         * config/config.sub: update from prep.
64839
64840 2003-07-18  Paul Eggert  <eggert@twinsun.com>
64841
64842         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
64843         Remove.
64844         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
64845         to test that it can stand by itself.  Include "exitfail.h".
64846         Clients should set exit_failure instead.
64847         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
64848
64849 2003-07-18  Bruno Haible  <bruno@clisp.org>
64850
64851         * modules/getndelim2: New file.
64852         * modules/getline: Share files with module getndelim2.
64853         * modules/getnline: Depend on getndelim2 instead of sharing files with
64854         it. Add getnline.c to lib_SOURCES.
64855         * MODULES.html.sh (func_all_modules): Add getndelim2.
64856
64857 2003-07-18  Bruno Haible  <bruno@clisp.org>
64858
64859         * m4/getndelim2.m4: New file.
64860         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
64861         invoke gl_PREREQ_GETNDELIM2.
64862         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
64863         gl_PREREQ_GETNDELIM2.
64864         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
64865         gl_GETNDELIM2.
64866
64867 2003-07-18  Bruno Haible  <bruno@clisp.org>
64868
64869         * lib/getndelim2.h: New file.
64870         * lib/getndelim2.c: Make into a module of its own. Include config.h,
64871         getndelim2.h.
64872         (getndelim2): Make non-static. Change return type to ssize_t.
64873         * lib/getline.h: Change argument names.
64874         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
64875         * lib/getnline.c: Include getndelim2.h.
64876
64877 2003-07-18  Andreas Schwab  <schwab@suse.de>
64878
64879         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
64880
64881 2003-07-17  Karl Berry  <karl@gnu.org>
64882
64883         * config/config.sub: update from prep.
64884
64885 2003-07-17  Bruno Haible  <bruno@clisp.org>
64886
64887         * modules/getnline: New file.
64888         * modules/getline: Add lib/getndelim2.c to source file list.
64889         * MODULES.html.sh (func_all_modules): Add getnline.
64890
64891 2003-07-17  Bruno Haible  <bruno@clisp.org>
64892
64893         * m4/getnline.m4: New file.
64894
64895 2003-07-17  Bruno Haible  <bruno@clisp.org>
64896
64897         * m4/Makefile.am.in: Remove file.
64898         * m4/Makefile.am: Remove file.
64899         * m4/Makefile.in: Remove file.
64900
64901 2003-07-17  Bruno Haible  <bruno@clisp.org>
64902
64903         * lib/getnline.h: New file.
64904         * lib/getnline.c: New file.
64905         * lib/getndelim2.c: New file, extracted from getline.c.
64906         (getndelim2): Renamed from getdelim2, with added nmax argument.
64907         * lib/getline.c: Include getndelim2.c.
64908         (getdelim2): Moved out to getndelim2.c.
64909         (getline, getdelim): Update.
64910
64911 2003-07-17  Bruno Haible  <bruno@clisp.org>
64912
64913         * lib/Makefile.am: Remove file.
64914         * lib/Makefile.in: Remove file.
64915
64916 2003-07-17  Bruno Haible  <bruno@clisp.org>
64917
64918         * configure.in: Remove file.
64919         * Makefile.in: Remove file.
64920
64921 2003-07-17  Bruno Haible  <bruno@clisp.org>
64922
64923         * MODULES.html.sh: Put the </BODY> right before </HTML>.
64924
64925 2003-07-16  Karl Berry  <karl@gnu.org>
64926
64927         * config/srclist-update: was running fixlicense twice, which caused
64928                 texinfo.tex to be nullified for some reason.  Simplify,
64929                 $gplsrc is no longer needed as far as I can see?
64930
64931 2003-07-16  Jim Meyering  <jim@meyering.net>
64932
64933         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
64934
64935 2003-07-15  Paul Eggert  <eggert@twinsun.com>
64936
64937         * config/srclist.txt: Get the following files from gettext-runtime/intl
64938         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
64939         ref-del.sin.  From Bruno Haible.
64940         * config/srclist-update (fixfile): Change grep pattern again, since the
64941         previous fix didn't work (there was another trailing $).  Use
64942         '[$]' to escape the $s.
64943
64944 2003-07-15  Karl Berry  <karl@gnu.org>
64945
64946         * lib/vasnprintf.c: update from gettext.
64947
64948 2003-07-15  Karl Berry  <karl@gnu.org>
64949
64950         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
64951         gets expanded when surrounded by '$'.
64952
64953 2003-07-15  Jim Meyering  <jim@meyering.net>
64954
64955         * modules/save-cwd: Don't depend on error.  From Derek Price.
64956
64957 2003-07-15  Jim Meyering  <jim@meyering.net>
64958
64959         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
64960
64961 2003-07-14  Simon Josefsson  <jas@extundo.com>
64962
64963         * modules/mempcpy: New file.
64964         * MODULES.html.sh (func_all_modules): Add mempcpy.
64965
64966 2003-07-14  Simon Josefsson  <jas@extundo.com>
64967
64968         * m4/mempcpy.m4: New file.
64969
64970 2003-07-14  Simon Josefsson  <jas@extundo.com>
64971
64972         * lib/mempcpy.h: New file.
64973         * lib/mempcpy.c: New file.
64974
64975 2003-07-14  Paul Eggert  <eggert@twinsun.com>
64976
64977         * modules/getdate, modules/posixtm: Depend on mktime.
64978
64979 2003-07-14  Paul Eggert  <eggert@twinsun.com>
64980
64981         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
64982         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
64983         unicodeio.c, unicodeio.h, unlocked-io.h:
64984         Switch from LGPL to GPL.
64985
64986 2003-07-14  Paul Eggert  <eggert@twinsun.com>
64987
64988         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
64989         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
64990         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
64991         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
64992         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
64993         updated automatically by ../config/srclist-update.  This changes
64994         their license from LPGL to GPL.
64995
64996 2003-07-14  Paul Eggert  <eggert@twinsun.com>
64997
64998         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
64999         assumed to refer to the root of the most recent stable gettext version.
65000         * config/srclistvars.sh: Add defaults for eggert.
65001         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
65002         Match "This program" as well as "The program".  This is needed
65003         for gettext.
65004
65005 2003-07-14  Jim Meyering  <jim@meyering.net>
65006
65007         Don't emit diagnostics.  Let callers do that.
65008         * lib/save-cwd.c: Don't include "error.h".
65009         (save_cwd): Don't call error.  Ensure that errno is valid
65010         when returning nonzero.
65011
65012         * lib/save-cwd.h (restore_cwd): Update prototype.
65013         * lib/save-cwd.c (restore_cwd): Remove two parameters.
65014         Simplify.  Don't call error upon failure.  Let callers do that.
65015         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
65016         when auditing is enabled.  But don't bother updating the #if.
65017
65018 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
65019
65020         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
65021         it breaks C++ compilation.
65022         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
65023
65024 2003-07-10  Simon Josefsson  <jas@extundo.com>
65025
65026         * modules/strchrnul (Makefile.am): Add strchrnul.h.
65027
65028 2003-07-10  Jim Meyering  <jim@meyering.net>
65029
65030         * m4/clock_time.m4: Remove trailing blank.
65031         * m4/intmax_t.m4: Likewise.
65032
65033 2003-07-10  Jim Meyering  <jim@meyering.net>
65034
65035         * lib/vasnprintf.c: Remove trailing blanks.
65036         Make cpp indentation consistent.
65037
65038 2003-07-09  Paul Eggert  <eggert@twinsun.com>
65039
65040         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
65041         posixver.c, strftime.c, strnlen.c, strverscmp.c:
65042         Switch from LGPL to GPL.
65043
65044 2003-07-09  Paul Eggert  <eggert@twinsun.com>
65045
65046         * config/srclist.txt: Sort sublists.  Add
65047         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
65048         that differ from gnulib for one reason or another; we'd like this list
65049         to be smaller but for now let's document what we have.
65050
65051 2003-07-08  Paul Eggert  <eggert@twinsun.com>
65052
65053         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
65054         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
65055         and sweeter "eval x=$x".
65056         * config/srclist.txt: Get lib/argp* from glibc.
65057
65058 2003-07-07  Paul Eggert  <eggert@twinsun.com>
65059
65060         * lib/mktime.c: Fix some boundary cases and remove need for floating
65061         point.
65062
65063         Issue a compile-time diagnostic if time_t is floating point, or if
65064         two's complement arithmetic is not in effect, or if arithmetic
65065         right shift does not propagate the sign.  These assumptions were
65066         all in the original code but they weren't checked.
65067
65068         (TIME_T_MIDPOINT, verify): New macros.
65069         (__isleap): Remove; it has integer overflow problems.
65070         (leapyear): New function, without those problems.
65071         (ydhms_tm_diff): Remove; splitting into two parts.
65072         (ydhms_diff): New function, containing the arithmetic part of
65073         the old ydhms_tm_diff function.  Issue a compile-time
65074         diagnostic if we are not using C99 integer division.
65075         Avoid casts when possible.
65076         (guess_time_tm): New function, containing the checking part of
65077         the old ydhms_tm_diff function.  Return the new value, rather than
65078         the difference between it and the old.  Accept a new argument T
65079         so that *T specifies the old value.  Check for overflow in the result.
65080
65081         (__mktime_internal): Use a time_t offset, not a long int offset.
65082         This undoes the 2003-06-04 change, which is no longer needed now
65083         that we have better overflow checking.
65084         (localtime_offset): Likewise.
65085
65086         (__mktime_internal): Avoid harmful overflow on hosts where time_t
65087         and long are 64-bit but int is only 32-bit.
65088         (ydhms_diff): Use long int to store year1 and yday1.
65089         Issue a compile-time diagnostic if long int is not wide enough.
65090
65091         (__mktime_internal): Use long int to store adjusted year and yday.
65092         Use plain C rather than preprocessor commands, if that doesn't
65093         affect efficiency.
65094         Check for overflow (and try to repair) after each probe
65095         rather than checking only at the very end.  This avoids some bugs
65096         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
65097         does not equal GMT offset at maximum time).
65098         Use integer to check for overflow rather than floating point; this
65099         is more portable to non-IEEE hosts, and is a tad faster.
65100         When we detect that we are oscillating between two values,
65101         don't check whether tm_isdst has the requested value, since
65102         we already know the answer.  When tm_isdst has the wrong value,
65103         use a different heuristic to find the right one, based on the
65104         extreme values actually observed in practice in tz2003a,
65105         rather than the (overly optimistic) "previous 3 calendar quarters".
65106
65107         (not_equal_tm, print_tm, check_result): Use "const T" rather than
65108         "T const" to accommodate glibc style.
65109         (check_result): Use less-confusing report format.  "long" -> "long int.
65110         (main): Likewise.
65111         Don't loop if the iteration overflows time_t.
65112         Allow a negative step in the iteration.
65113
65114 2003-07-06  Karl Berry  <karl@gnu.org>
65115
65116         * config/depcomp: update from automake.
65117         * config/config.sub: update from prep.
65118
65119 2003-07-03  Karl Berry  <karl@gnu.org>
65120
65121         * config/config.guess: update from prep.
65122
65123 2003-07-01  Paul Eggert  <eggert@twinsun.com>
65124
65125         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
65126         xreadlink.c now includes it unconditionally.
65127
65128 2003-07-01  Paul Eggert  <eggert@twinsun.com>
65129
65130         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
65131         having it depend on HAVE_SYS_TYPES_H.
65132
65133 2003-07-01  Bruno Haible  <bruno@clisp.org>
65134
65135         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
65136         <sys/types.h> should be sufficient.
65137         Reported by Paul Eggert.
65138
65139 2003-06-26  Karl Berry  <karl@gnu.org>
65140
65141         * config/depcomp: update from automake.
65142
65143 2003-06-26  Bruno Haible  <bruno@clisp.org>
65144
65145         * modules/human: Depend on module stdbool.
65146
65147 2003-06-25  Bruno Haible  <bruno@clisp.org>
65148
65149         * modules/readlink: New file.
65150         * modules/xreadlink: Depend on it.
65151         * MODULES.html.sh (func_all_modules): Add readlink.
65152
65153 2003-06-25  Bruno Haible  <bruno@clisp.org>
65154
65155         * m4/readlink.m4: New file.
65156
65157 2003-06-25  Bruno Haible  <bruno@clisp.org>
65158
65159         * lib/readlink.c: New file.
65160
65161 2003-06-22  Karl Berry  <karl@gnu.org>
65162
65163         * config/srclist.txt: update mkinstalldirs from automake.
65164         * config/mkinstalldirs: update.
65165
65166 2003-06-22  Bruno Haible  <bruno@clisp.org>
65167
65168         Portability to mingw32.
65169         * m4/ssize_t.m4: New file, from GNU gettext.
65170         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
65171         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
65172
65173 2003-06-22  Bruno Haible  <bruno@clisp.org>
65174
65175         * modules/safe-read: Add m4/ssize_t.m4.
65176         * modules/xreadlink: Add m4/ssize_t.m4.
65177
65178 2003-06-20  Bruno Haible  <bruno@clisp.org>
65179
65180         Assume C89, so PARAMS isn't needed.
65181         * lib/unicodeio.h (PARAMS): Remove.
65182         * lib/unicodeio.c: Don't use PARAMS.
65183
65184 2003-06-18  Karl Berry  <karl@gnu.org>
65185
65186         * config/config.{guess,sub}: update from prep.
65187
65188 2003-06-18  Jim Meyering  <jim@meyering.net>
65189
65190         Merge changes from coreutils.
65191         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
65192         Remove explicit declarations of xmalloc and realloc.
65193         Include xalloc.h.
65194         (read_utmp): Remove anachronistic cast of xmalloc.
65195
65196 2003-06-17  Paul Eggert  <eggert@twinsun.com>
65197
65198         Assume C89, so PARAMS isn't needed.
65199         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
65200         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
65201         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
65202         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
65203         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
65204         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
65205         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
65206         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
65207         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
65208         lib/xstrtod.h, lib/xstrtol.h: Likewise.
65209         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
65210         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
65211         no longer needed. Anyway, config.h should always be included before any
65212         other file.
65213
65214 2003-06-11  Simon Josefsson  <jas@extundo.com>
65215
65216         * modules/sysexits: New file.
65217         * MODULES.html.sh (func_all_modules): Add sysexits.
65218
65219 2003-06-11  Simon Josefsson  <jas@extundo.com>
65220
65221         * lib/sysexit_.h: New file.
65222
65223 2003-06-11  Derek Price  <derek@ximbiot.com>
65224
65225         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
65226         necessary.
65227
65228 2003-06-11  Bruno Haible  <bruno@clisp.org>
65229
65230         * m4/sysexits.m4: New file.
65231
65232 2003-06-10  Simon Josefsson  <jas@extundo.com>
65233
65234         * lib/argp.h: New file, from glibc.
65235         * lib/argp-ba.c: New file, from glibc.
65236         * lib/argp-eexst.c: New file, from glibc.
65237         * lib/argp-fmtstream.c: New file, from glibc.
65238         * lib/argp-fmtstream.h: New file, from glibc.
65239         * lib/argp-fs-xinl.c: New file, from glibc.
65240         * lib/argp-help.c: New file, from glibc.
65241         * lib/argp-namefrob.h: New file, from glibc.
65242         * lib/argp-parse.c: New file, from glibc.
65243         * lib/argp-pv.c: New file, from glibc.
65244         * lib/argp-pvh.c: New file, from glibc.
65245         * lib/argp-xinl.c: New file, from glibc.
65246
65247 2003-06-10  Simon Josefsson  <jas@extundo.com>
65248
65249         * modules/strchrnul: New file.
65250
65251 2003-06-10  Simon Josefsson  <jas@extundo.com>
65252
65253         * modules/argp: New file.
65254
65255 2003-06-10  Simon Josefsson  <jas@extundo.com>
65256
65257         * m4/strchrnul.m4: New file.
65258
65259 2003-06-10  Simon Josefsson  <jas@extundo.com>
65260
65261         * lib/strchrnul.h: New file.
65262         * lib/strchrnul.c: New file.
65263
65264 2003-06-10  Bruno Haible  <bruno@clisp.org>
65265
65266         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
65267
65268 2003-06-07  Karl Berry  <karl@gnu.org>
65269
65270         * config/config.{guess,sub}: update from prep.
65271
65272 2003-06-07  Jim Meyering  <jim@meyering.net>
65273
65274         * modules/strtod: Use $(...) notation, not @...@ for
65275         AC_REPLACE'd variables.
65276         * modules/localcharset: Likewise.
65277
65278 2003-06-07  Jim Meyering  <jim@meyering.net>
65279
65280         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
65281         in place of my name in the copyright comment.
65282         Remove definition and uses of __P.
65283
65284         From coreutils.
65285         * lib/stat.c: Don't declare xmalloc explicitly.
65286         Instead, include "xalloc.h".
65287         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
65288         xrealloc, and xcalloc return values.
65289         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
65290         Improve comment.
65291         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
65292
65293 2003-06-07  Bruno Haible  <bruno@clisp.org>
65294
65295         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
65296         avoid AC_CONFIG_LINKS.
65297         * modules/fnmatch (Makefile.am): Use explicit creation rule for
65298         fnmatch.h, to avoid AC_CONFIG_LINKS.
65299         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
65300
65301 2003-06-07  Bruno Haible  <bruno@clisp.org>
65302
65303         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
65304         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
65305         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
65306         directory.
65307         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
65308         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
65309         directory.
65310
65311 2003-06-06  Jim Meyering  <jim@meyering.net>
65312
65313         Merge from coreutils.
65314         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
65315         Consolidate declarations and initializations of *_base* locals.
65316
65317         Merge from coreutils.
65318         This avoids a core dump on systems without GNU putenv,
65319         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
65320         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
65321         (unsetenv): New static function, from GNU libc.
65322         (rpl_putenv): Use it.
65323
65324         * lib/modechange.c: Remove trailing blanks.
65325
65326         Merge from coreutils.
65327         * lib/fsusage.c: Remove declaration of statfs.
65328         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
65329
65330         * lib/posixtm.c: Include <stdbool.h> unconditionally.
65331
65332 2003-06-06  Jim Meyering  <jim@meyering.net>
65333
65334         * lib/stdbool_.h: Renamed from stdbool.h.in.
65335
65336 2003-06-06  Jim Meyering  <jim@meyering.net>
65337             Bruno Haible  <bruno@clisp.org>
65338
65339         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
65340         Adjust Makefile.am snippet not to redirect directly to target.
65341         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
65342
65343 2003-06-05  Paul Eggert  <eggert@twinsun.com>
65344
65345         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
65346         mismatch, look in future quarters as well as past.  This fixes a
65347         bug when processing fall-backwards gaps immediately after a long
65348         period of daylight-saving time.
65349
65350         * lib/mktime.c: Assume freestanding C89 or better.
65351         (HAVE_LIMITS_H): Remove.  Assume it's 1.
65352         (__P): Remove; not used.
65353         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
65354         (mktime, not_equal_tm, print_tm, check_result,
65355         main): Use prototypes.  Use const * where appropriate.
65356         (main): Fix typo in testing code that uncovered by above changes.
65357         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
65358
65359 2003-06-04  Paul Eggert  <eggert@twinsun.com>
65360
65361         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
65362         locale.h, localeconv.  This merges changes from coreutils.
65363
65364         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
65365         It can be removed after the next Autoconf is released.
65366         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
65367         needed.
65368
65369 2003-06-04  Paul Eggert  <eggert@twinsun.com>
65370
65371         * lib/mktime.c: Fix Debian bug 177940
65372         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
65373         (localtime_offset): Now long int, not time_t, because we want it
65374         to be guaranteed to be signed.  All uses changed.
65375         (__mktime_internal): If overflow would occur when adding offset,
65376         don't add it.
65377
65378         Merge 'human' changes from coreutils.  Rewrite to support
65379         locale-specific notations like thousands separators.
65380         * lib/human.c: Simplify authorship notice.
65381         Include human.h immediately after config.h.
65382         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
65383         <limits.h>: Do not include, since human.h does.
65384         (SIZE_MAX, UINTMAX_MAX): New macros.
65385         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
65386         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
65387         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
65388         (power_letter): Renamed from suffixes.
65389         (generate_suffix_backwards): Remove.
65390         (adjust_value): Now takes int style (because of human.h changes)
65391         and long double value (for greater precision on some platforms).
65392         (group_number): New function.
65393         (human_readable): Use it.  Use integer options, not enum.
65394         Put the options before the sizes in the arg list.
65395         Support all the new options.
65396         The old human_readable function has been removed;
65397         use inttostr.h instead.
65398         (human_readable, default_block_size, humblock):
65399         Use uintmax_t, not int, for block sizes.
65400         (human_readable_inexact, block_size_types): Remove.
65401         (block_size_opts): New constant.
65402         (human_options): Renamed from human_block_size, with new signature
65403         that allows block sizes up to UINTMAX_MAX.  All callers changed.
65404         * lib/human.h: Add copyright and authorship notice.
65405         Include <limits.h> and <stdbool.h> unconditionally.
65406         (PARAMS): Remove.  All uses removed.
65407         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
65408         (enum human_inexact_style): Remove tag; now a nameless enum.
65409         (human_floor, human_ceiling, human_round_to_even): Now have
65410         values 2, 0, 1 rather than -1, 1, 0.
65411         (human_group_digits, human_suppress_point_zero, human_autoscale,
65412         human_base_1024, human_SI, human_B): New constants.
65413         (human_readable_inexact, human_block_size): Remove.
65414         (human_readable): Size args are now uintmax_t, not int.
65415         (human_options): New decl.
65416
65417         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
65418         unnecessary now that we assume C89 or better.  This change
65419         imported from coreutils.
65420
65421         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
65422         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
65423         in the 2003-05-30 sync from glibc.
65424
65425         .h files should stand alone, but we shouldn't include <sys/types.h>
65426         if we can get away with just <stddef.h>.
65427
65428         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
65429         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
65430         rather than <sys/types.h>, as we merely need size_t.
65431         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
65432         to get size_t.
65433         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
65434         Include <stdio.h>, to get FILE.
65435         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
65436         memcasecmp.h has included <stddef.h> and all we need is size_t.
65437         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
65438         our interface, instead of including <sys/types.h>
65439
65440 2003-06-04  Paul Eggert  <eggert@twinsun.com>
65441
65442         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
65443         now, as glibc mktime is buggy on non-glibc systems.
65444
65445 2003-06-03  Karl Berry  <karl@gnu.org>
65446
65447         * config/config.sub: update from prep.
65448
65449 2003-06-02  Paul Eggert  <eggert@twinsun.com>
65450
65451         [from coreutils]
65452         Fix some minor time-related bugs with POSIX time arguments.
65453         Some valid time stamps were being rejected (notably -1, and
65454         time stamps before 1900 on 64-bit hosts).  And some invalid
65455         time stamps were being accepted, e.g. September 31.
65456
65457         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
65458         that we can return (time_t) -1 successfully.
65459         * lib/posixtm.c: Likewise.
65460         [HAVE_STDBOOL_H]: Include <stdbool.h>.
65461         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
65462         (t): Remove static var.
65463         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
65464         of static var.  All uses changed.
65465         (year): Do not reject years before 1900; they can occur with
65466         64-bit time_t.
65467         (posix_time_parse): Do not check for out-of-range components;
65468         that is now the caller's responsibility, since our checks were
65469         only approximations.
65470         (posixtime): Use mktime to check for out-of-range components,
65471         since it knows them exactly.
65472         If mktime returns (time_t) -1, check whether an error actually occurred
65473         by invoking localtime on -1.
65474         (main) [TEST_POSIXTIME]: Check for input data errors, and report
65475         posixtime failures better.
65476         Improve the test data (in comments only).
65477
65478 2003-06-02  Karl Berry  <karl@gnu.org>
65479
65480         * config/mkinstalldirs (version): new variable.
65481         (--version): new option.
65482         (usage): improve message.
65483
65484 2003-05-30  Karl Berry  <karl@gnu.org>
65485
65486         * lib/mktime.c: update from libc.
65487
65488 2003-05-30  Bruno Haible  <bruno@clisp.org>
65489
65490         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
65491         * config/config.rpath: Upgrade to gettext-0.12.1.
65492
65493 2003-05-30  Bruno Haible  <bruno@clisp.org>
65494
65495         * m4/gettext.m4: Upgrade to gettext-0.12.1.
65496         * m4/nls.m4: New file, from gettext-0.12.1.
65497         * m4/po.m4: New file, from gettext-0.12.1.
65498         * m4/progtest.m4: Upgrade to gettext-0.12.1.
65499
65500 2003-05-30  Bruno Haible  <bruno@clisp.org>
65501
65502         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
65503         * lib/localcharset.h: Likewise.
65504         * lib/localcharset.c: Likewise.
65505
65506 2003-05-29  Karl Berry  <karl@gnu.org>
65507
65508         * config/config.rpath: update from gettext.
65509
65510 2003-05-28  Paul Eggert  <eggert@twinsun.com>
65511
65512         Assume the headers required for C89 freestanding compilers.
65513         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
65514         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
65515         * m4/human.m4 (gl_HUMAN): Likewise.
65516         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
65517         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
65518         * m4/userspec.m4 (gl_USERSPEC): Likewise.
65519         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
65520         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
65521         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
65522
65523 2003-05-28  Paul Eggert  <eggert@twinsun.com>
65524
65525         Assume the headers required for C89 freestanding compilers.
65526         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
65527         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
65528         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
65529         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
65530         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
65531         define, since <limits.h> is guaranteed to do that.
65532         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
65533         * lib/exclude.c: Include <stdbool.h> unconditionally.
65534         * lib/tempname.c: Include <stddef.h> unconditionally.
65535         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
65536         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
65537         <stddef.h> does that.
65538         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
65539         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
65540         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
65541         needed.
65542         * lib/xstrtol.c: Likewise.
65543         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
65544         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
65545
65546         * lib/addext.c (addext): Use assignment rather than cast, to avoid
65547         warnings on some platforms.
65548
65549         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
65550         arbitrarily.
65551
65552 2003-05-26  Jim Meyering  <jim@meyering.net>
65553
65554         Merge in a change from coreutils:
65555         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
65556         that is guaranteed to be `no'.  Use `no_such_member' to indicate
65557         that condition, rather than `-1' which is slightly misleading.
65558         Change the name of the cache variable to have the gl_ prefix.
65559         Prompted by a patch from Richard Dawe for DJGPP.
65560
65561 2003-05-24  Karl Berry  <karl@gnu.org>
65562
65563         * config/config.guess: update from prep.
65564
65565 2003-05-22  Karl Berry  <karl@gnu.org>
65566
65567         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
65568
65569 2003-05-20  Karl Berry  <karl@gnu.org>
65570
65571         * config/config.guess: update from prep.
65572
65573 2003-05-18  Karl Berry  <karl@gnu.org>
65574
65575         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
65576         might actually be set by the user.
65577
65578         * config/depcomp, install-sh, mdate-sh: update from automake.
65579
65580 2003-05-17  Bruno Haible  <bruno@clisp.org>
65581
65582         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
65583         invalid expansion for AC_EGREP_CPP.
65584         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
65585         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
65586         Suggested by Akim Demaille <akim@epita.fr> in
65587         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
65588
65589 2003-05-12  Jim Meyering  <jim@meyering.net>
65590
65591         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
65592         the space-padded-by-default conversion specifiers, %e, %k, %l.
65593
65594 2003-05-12  Bruno Haible  <bruno@clisp.org>
65595
65596         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
65597         the string is longer than 4 KB.
65598
65599 2003-05-11  Karl Berry  <karl@gnu.org>
65600
65601         * config/config.{guess,sub}: update from prep.
65602
65603 2003-05-09  Bruno Haible  <bruno@clisp.org>
65604
65605         * modules/error: Add m4/strerror_r.m4 to file list.
65606
65607 2003-05-03  Bruno Haible  <bruno@clisp.org>
65608
65609         Upgrade to Unicode-4.0.
65610         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
65611         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
65612         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
65613         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
65614         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
65615         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
65616         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
65617         Change width of U+E0100..U+E01EF from 1 to 0.
65618
65619 2003-04-25  Jim Meyering  <jim@meyering.net>
65620
65621         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
65622         of type size_t, not int.
65623
65624 2003-04-25  Bruno Haible  <bruno@clisp.org>
65625
65626         * lib/copy-file.c: Include <stddef.h>, for size_t.
65627
65628 2003-04-21  Paul Eggert  <eggert@twinsun.com>
65629
65630         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
65631         code which expansion is under static control.  Patch imported from
65632         Akim Demaille's patch to Bison; see
65633         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
65634
65635 2003-04-14  Bruno Haible  <bruno@clisp.org>
65636
65637         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
65638
65639 2003-04-11  Jim Meyering  <jim@meyering.net>
65640
65641         Merge changes from Coreutils.
65642
65643         2003-03-22  Jim Meyering  <jim@meyering.net>
65644
65645         * lib/strftime.c (widen): Cast alloca return value to proper type.
65646
65647         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
65648
65649         From GNU libc.
65650         * lib/strftime.c (my_strftime): Handle very large width
65651         specifications for numeric values correctly.  Improve checks for
65652         overflow.
65653
65654         2003-01-19  Jim Meyering  <jim@meyering.net>
65655
65656         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
65657         definitions.
65658         (nl_get_alt_digit) [! defined my_strftime]: Define.
65659         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
65660         _nl_get_alt_digit and _nl_get_walt_digit.
65661
65662         * lib/strftime.c (my_strftime): Merge in locale-related changes from
65663         libc. These changes have no effect outside of _LIBC.
65664
65665 2003-04-10  Bruno Haible  <bruno@clisp.org>
65666
65667         * modules/findprog: New file.
65668         * MODULES.html.sh (func_all_modules): Add it.
65669
65670 2003-04-10  Bruno Haible  <bruno@clisp.org>
65671
65672         * m4/findprog.m4: New file.
65673         * m4/eaccess.m4: New file.
65674
65675 2003-04-10  Bruno Haible  <bruno@clisp.org>
65676
65677         * lib/findprog.h: New file, from GNU gettext.
65678         * lib/findprog.c: New file, from GNU gettext.
65679
65680 2003-04-05  Jim Meyering  <jim@meyering.net>
65681
65682         Merge changes from Coreutils.
65683
65684         * lib/exclude.h (PARAMS): Remove definition and uses.
65685         * lib/exclude.c: Remove uses of `PARAMS'.
65686
65687         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
65688         Add test-cases for DOS filenames. Declare program_name.
65689         (main): Set up program_name.  Patch by Rich Dawe.
65690
65691         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
65692         error from mntctl.
65693         Use mntctl's return value to drive the entry-processing loop, since
65694         we can't rely on the value of the vmt_length member in the last
65695         entry.  On some systems doing so could result in exhausting
65696         virtual memory.  Based in part on a patch from Mike Jetzer.
65697
65698 2003-04-04  Bruno Haible  <bruno@clisp.org>
65699
65700         * modules/linebreak: New file.
65701         * MODULES.html.sh (func_all_modules): Add it.
65702
65703 2003-04-04  Bruno Haible  <bruno@clisp.org>
65704
65705         * m4/linebreak.m4: New file.
65706
65707 2003-04-04  Bruno Haible  <bruno@clisp.org>
65708
65709         * lib/linebreak.h: New file, from GNU gettext.
65710         * lib/linebreak.c: New file, from GNU gettext with slight
65711         modifications.
65712         * lib/lbrkprop.h: New file, from GNU gettext.
65713
65714 2003-04-03  Bruno Haible  <bruno@clisp.org>
65715
65716         * modules/utf8-ucs4: New file.
65717         * modules/utf16-ucs4: New file.
65718         * modules/ucs4-utf8: New file.
65719         * modules/ucs4-utf16: New file.
65720         * MODULES.html.sh (func_all_modules): Add them.
65721
65722 2003-04-03  Bruno Haible  <bruno@clisp.org>
65723
65724         * m4/utf-ucs4.m4: New file.
65725         * m4/ucs4-utf.m4: New file.
65726
65727 2003-04-03  Bruno Haible  <bruno@clisp.org>
65728
65729         * lib/utf8-ucs4.h: New file, from GNU gettext.
65730         * lib/utf16-ucs4.h: New file, from GNU gettext.
65731         * lib/ucs4-utf8.h: New file, from GNU gettext.
65732         * lib/ucs4-utf16.h: New file, from GNU gettext.
65733
65734 2003-04-02  Bruno Haible  <bruno@clisp.org>
65735
65736         * modules/binary-io: New file.
65737         * MODULES.html.sh (func_all_modules): Add it.
65738
65739 2003-04-02  Bruno Haible  <bruno@clisp.org>
65740
65741         * lib/binary-io.h: New file, from GNU gettext.
65742
65743 2003-04-01  Bruno Haible  <bruno@clisp.org>
65744
65745         * modules/pathname: New file.
65746         * MODULES.html.sh (func_all_modules): Add it.
65747
65748 2003-04-01  Bruno Haible  <bruno@clisp.org>
65749
65750         * lib/pathname.h: New file, from GNU gettext.
65751         * lib/concatpath.c: New file, from GNU gettext.
65752
65753 2003-03-30  Bruno Haible  <bruno@clisp.org>
65754
65755         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
65756
65757 2003-03-30  Bruno Haible  <bruno@clisp.org>
65758
65759         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
65760         function chown() doesn't exist.
65761
65762 2003-03-28  Bruno Haible  <bruno@clisp.org>
65763
65764         * modules/copy-file: New file.
65765         * MODULES.html.sh (func_all_modules): Add it.
65766
65767 2003-03-28  Bruno Haible  <bruno@clisp.org>
65768
65769         * m4/copy-file.m4: New file.
65770
65771 2003-03-28  Bruno Haible  <bruno@clisp.org>
65772
65773         * lib/copy-file.h: New file, from GNU gettext.
65774         * lib/copy-file.c: New file, from GNU gettext.
65775
65776 2003-03-18  Jim Meyering  <jim@meyering.net>
65777
65778         * lib/quote.c (quote_n): Fix typo in comment.
65779
65780 2003-03-18  Bruno Haible  <bruno@clisp.org>
65781
65782         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
65783         checking.
65784         * m4/onceonly_2_57.m4: Likewise.
65785
65786 2003-03-17  Bruno Haible  <bruno@clisp.org>
65787
65788         * m4/onceonly.m4: Require autoconf 2.54 or newer.
65789         (m4_quote): Remove macro.
65790         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
65791
65792 2003-03-14  Jim Meyering  <jim@meyering.net>
65793
65794         Merge changes from Coreutils.
65795         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
65796         to be const, in order to avoid warnings.
65797         (obstack_room): Likewise.
65798         (obstack_empty_p): Likewise.
65799
65800 2003-03-14  Bruno Haible  <bruno@clisp.org>
65801
65802         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
65803         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
65804
65805 2003-03-13  Paul Eggert  <eggert@twinsun.com>
65806
65807         Merge changes from Bison.
65808         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
65809         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
65810         when compiling Bison 1.875's `bitset bset = obstack_alloc
65811         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
65812         * lib/hash.c: Include <stdbool.h> unconditionally.
65813
65814 2003-03-13  Paul Eggert  <eggert@twinsun.com>
65815
65816         * m4/onceonly.m4 (m4_quote): New macro.
65817         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
65818         Quote AC_FOREACH variable-expansions properly.
65819
65820 2003-03-13  Paul Eggert  <eggert@twinsun.com>
65821
65822         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
65823
65824 2003-03-09  Paul Eggert  <eggert@twinsun.com>
65825
65826         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
65827         Reported by Bruce Becker; see:
65828         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
65829
65830 2003-03-03  Paul Eggert  <eggert@twinsun.com>
65831             Bruno Haible  <bruno@clisp.org>
65832
65833         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
65834         Reported by John Hughes, see
65835         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
65836
65837 2003-02-20  Bruno Haible  <bruno@clisp.org>
65838
65839         * MODULES.html.sh (func_all_modules): Add poll.
65840
65841 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
65842
65843         * modules/poll: New file.
65844
65845 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
65846
65847         * lib/poll_.h: New file.
65848         * lib/poll.c: New file.
65849
65850 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
65851
65852         * m4/poll.m4: New file.
65853
65854 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
65855
65856         * modules/mathl: New file.
65857
65858 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
65859
65860         * lib/mathl.h: New file.
65861         * lib/acosl.c: New file.
65862         * lib/asinl.c: New file.
65863         * lib/atanl.c: New file.
65864         * lib/ceill.c: New file.
65865         * lib/cosl.c: New file.
65866         * lib/expl.c: New file.
65867         * lib/floorl.c: New file.
65868         * lib/frexpl.c: New file.
65869         * lib/ldexpl.c: New file.
65870         * lib/logl.c: New file.
65871         * lib/sincosl.c: New file.
65872         * lib/sinl.c: New file.
65873         * lib/sqrtl.c: New file.
65874         * lib/tanl.c: New file.
65875         * lib/trigl.c: New file.
65876         * lib/trigl.h: New file.
65877
65878 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
65879
65880         * m4/mathl.m4: New file.
65881
65882 2003-02-18  Bruno Haible  <bruno@clisp.org>
65883
65884         * MODULES.html.sh (func_all_modules): Add mathl.
65885
65886 2003-02-17  Bruno Haible  <bruno@clisp.org>
65887
65888         * modules/mkdtemp: New module.
65889         * MODULES.html.sh (func_all_modules): Add it.
65890
65891 2003-02-17  Bruno Haible  <bruno@clisp.org>
65892
65893         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
65894
65895 2003-02-17  Bruno Haible  <bruno@clisp.org>
65896
65897         * lib/mkdtemp.h: New file, from GNU gettext.
65898         * lib/mkdtemp.c: New file, from GNU gettext.
65899
65900 2003-02-02  Jim Meyering  <jim@meyering.net>
65901
65902         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
65903         e.g. glibc-2.2.93.
65904
65905 2003-01-31  Bruno Haible  <bruno@clisp.org>
65906
65907         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
65908         'rpl_rename'.
65909         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
65910         'rpl_strnlen'.
65911         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
65912         'rpl_strtod'.
65913         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
65914         'rpl_utime'.
65915
65916 2003-01-31  Bruno Haible  <bruno@clisp.org>
65917
65918         * lib/rename.c: #undef rename before defining rpl_rename.
65919         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
65920
65921 2003-01-30  Bruno Haible  <bruno@clisp.org>
65922
65923         * modules/vasnprintf, modules/vasprintf: New modules.
65924         * MODULES.html.sh (func_all_modules): Add them.
65925
65926 2003-01-30  Bruno Haible  <bruno@clisp.org>
65927
65928         * m4/signed.m4: New file, from GNU gettext.
65929         * m4/longdouble.m4: New file, from GNU gettext.
65930         * m4/wchar_t.m4: New file, from GNU gettext.
65931         * m4/wint_t.m4: New file, from GNU gettext.
65932         * m4/vasnprintf.m4: New file.
65933         * m4/vasprintf.m4: New file.
65934
65935 2003-01-30  Bruno Haible  <bruno@clisp.org>
65936
65937         * lib/printf-args.h: New file, from GNU gettext.
65938         * lib/printf-args.c: New file, from GNU gettext.
65939         * lib/printf-parse.h: New file, from GNU gettext.
65940         * lib/printf-parse.c: New file, from GNU gettext.
65941         * lib/vasnprintf.h: New file, from GNU gettext.
65942         * lib/vasnprintf.c: New file, from GNU gettext.
65943         * lib/asnprintf.c: New file, from GNU gettext.
65944         * lib/vasprintf.h: New file, from GNU gettext with modifications.
65945         * lib/vasprintf.c: New file, from GNU gettext.
65946         * lib/asprintf.c: New file, from GNU gettext.
65947
65948 2003-01-29  Bruno Haible  <bruno@clisp.org>
65949
65950         * modules/stpncpy: New module.
65951         * MODULES.html.sh (func_all_modules): Add it.
65952
65953 2003-01-29  Bruno Haible  <bruno@clisp.org>
65954
65955         * m4/stpncpy.m4: New file.
65956
65957 2003-01-29  Bruno Haible  <bruno@clisp.org>
65958
65959         * lib/stpncpy.h: New file, from GNU gettext with modifications.
65960         * lib/stpncpy.c: New file, from GNU gettext with modifications.
65961
65962 2003-01-28  Bruno Haible  <bruno@clisp.org>
65963
65964         * modules/c-ctype: New module.
65965         * MODULES.html.sh (func_all_modules): Add it.
65966
65967 2003-01-28  Bruno Haible  <bruno@clisp.org>
65968
65969         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
65970         Paul Eggert.
65971         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
65972         Paul Eggert.
65973
65974 2003-01-27  Bruno Haible  <bruno@clisp.org>
65975
65976         * modules/xsetenv: New module.
65977         * MODULES.html.sh (func_all_modules): Add it.
65978
65979 2003-01-27  Bruno Haible  <bruno@clisp.org>
65980
65981         * lib/xsetenv.h: New file, from GNU gettext.
65982         * lib/xsetenv.c: New file, from GNU gettext.
65983
65984 2003-01-23  Jim Meyering  <jim@meyering.net>
65985
65986         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
65987         from working on systems without dirfd (at least Irix and OSF1/Tru64).
65988
65989 2003-01-23  Bruno Haible  <bruno@clisp.org>
65990
65991         * modules/minmax: New module.
65992         * MODULES.html.sh (func_all_modules): Add it.
65993
65994 2003-01-23  Bruno Haible  <bruno@clisp.org>
65995
65996         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
65997         Eggert.
65998
65999 2003-01-22  Bruno Haible  <bruno@clisp.org>
66000
66001         * modules/exit: New module.
66002         * MODULES.html.sh (func_all_modules): Add it.
66003
66004 2003-01-22  Bruno Haible  <bruno@clisp.org>
66005
66006         * lib/exit.h: New file, from GNU gettext.
66007
66008 2003-01-19  Bruno Haible  <bruno@clisp.org>
66009
66010         * gnulib-tool: Recognize option --extract-maintainer.
66011         (func_get_maintainer): New function.
66012         * modules/*: Add Maintainer entry.
66013
66014 2003-01-16  Jim Meyering  <jim@meyering.net>
66015
66016         * m4/regex.m4: The `regex' struct is both input and output.
66017         Initialize it before each use.  Patch by Tim Waugh.
66018
66019 2003-01-16  Bruno Haible  <bruno@clisp.org>
66020
66021         * MODULES.html.sh: Add a table of contents. Add the module name as
66022         leftmost column. Add hyperlinks.
66023
66024 2003-01-15  Bruno Haible  <bruno@clisp.org>
66025
66026         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
66027
66028 2003-01-15  Bruno Haible  <bruno@clisp.org>
66029
66030         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
66031         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
66032         suffix.
66033
66034 2003-01-15  Bruno Haible  <bruno@clisp.org>
66035
66036         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
66037
66038 2003-01-15  Bruno Haible  <bruno@clisp.org>
66039
66040         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
66041         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
66042
66043 2003-01-14  Jim Meyering  <jim@meyering.net>
66044
66045         * lib/same.c (same_name): Tweak a comment.
66046
66047 2003-01-14  Bruno Haible  <bruno@clisp.org>
66048
66049         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
66050         when a string comparison is sufficient.
66051
66052 2003-01-14  Bruno Haible  <bruno@clisp.org>
66053
66054         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
66055         'unsigned int'.
66056
66057 2003-01-14  Bruno Haible  <bruno@clisp.org>
66058
66059         * lib/hash-pjw.c: Add comment about low quality of this function.
66060
66061 2003-01-13  Bruno Haible  <bruno@clisp.org>
66062
66063         * modules/stpcpy: Distribute lib/stpcpy.h.
66064         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
66065
66066 2003-01-13  Bruno Haible  <bruno@clisp.org>
66067
66068         * modules/*: Add a description.
66069         * modules/strpbrk: Fix Makefile.am snippet.
66070         * modules/strtoimax: Fix dependencies.
66071         * modules/strtoumax: Likewise.
66072
66073 2003-01-13  Bruno Haible  <bruno@clisp.org>
66074
66075         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
66076         * modules/alloca (Makefile.am): All object files depend on alloca.h.
66077         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
66078
66079 2003-01-13  Bruno Haible  <bruno@clisp.org>
66080
66081         * gnulib-tool (func_create_testdir): Store config/* files in the main
66082         directory.
66083         * config.rpath: Move to ...
66084         * config/config.rpath: ... here.
66085         * modules/gettext: Contains config/config.rpath, not config.rpath.
66086         * modules/iconv: Likewise.
66087
66088 2003-01-12  Paul Eggert  <eggert@twinsun.com>
66089
66090         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
66091         to avoid collisions with libcurses and libreadline.
66092
66093         * m4/getstr.m4: Remove.
66094         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
66095
66096 2003-01-12  Paul Eggert  <eggert@twinsun.com>
66097
66098         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
66099         to avoid collisions with libcurses and libreadline.
66100
66101         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
66102         * lib/getstr.h, getstr.c: Remove.
66103         * lib/getline.c: Include "getline.h", to check interface.
66104         Move body of old getstr.c here: this defines MIN_CHUNK and
66105         declares getdelim2, which is renamed from getstr.
66106         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
66107
66108         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
66109         All uses changed.
66110         * lib/linebuffer.h: Likewise.
66111         (readline): Remove backward-compatibility macro.
66112
66113 2003-01-12  Paul Eggert  <eggert@twinsun.com>
66114
66115         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
66116         to avoid collisions with libcurses and libreadline.
66117         * getstr: Remove.
66118         * MODULES.html.sh: Remove getstr.
66119         * modules/getline: Depend on unlocked-io, not getstr.
66120
66121 2003-01-12  Jim Meyering  <jim@meyering.net>
66122
66123         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
66124
66125 2003-01-10  Bruno Haible  <bruno@clisp.org>
66126
66127         * modules/alloca: Change Makefile.am requirements. Simplify Include
66128         requirements. Add lib/alloca_.h to file list.
66129
66130 2003-01-10  Bruno Haible  <bruno@clisp.org>
66131
66132         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
66133
66134 2003-01-10  Bruno Haible  <bruno@clisp.org>
66135
66136         * lib/alloca_.h: New file.
66137         * lib/getdate.y: Unconditionally include alloca.h.
66138         * lib/makepath.c: Likewise.
66139         * lib/setenv.c: Likewise.
66140         * lib/userspec.c: Likewise.
66141
66142 2003-01-09  Karl Berry  <karl@gnu.org>
66143
66144         * MODULES.html.sh: include `dirname $0` in PATH, to find
66145         gnulib-tool.
66146
66147 2003-01-09  Bruno Haible  <bruno@clisp.org>
66148
66149         * modules/stdbool: Change configure.ac, Makefile.am requirements.
66150         Simplify Include requirements. Add lib/stdbool.h.in to file list.
66151
66152 2003-01-09  Bruno Haible  <bruno@clisp.org>
66153
66154         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
66155
66156 2003-01-09  Bruno Haible  <bruno@clisp.org>
66157
66158         * lib/stdbool.h.in: New file.
66159
66160 2003-01-09  Bruno Haible  <bruno@clisp.org>
66161
66162         * gnulib-tool (func_all_modules): Ignore files ending in ~.
66163         * MODULES.html.sh: Likewise.
66164
66165 2003-01-08  Jim Meyering  <jim@meyering.net>
66166
66167         * lib/full-write.c: Undefine and define-away `const' after inclusion
66168         of errno.h, not before.  Suggestion from Bruno Haible.
66169
66170 2003-01-08  Bruno Haible  <bruno@clisp.org>
66171
66172         * modules/full-read: Depend on full-write.
66173
66174 2003-01-08  Bruno Haible  <bruno@clisp.org>
66175
66176         * lib/safe-read.c: Include specification header first, to ensure its
66177         selfcontainedness.
66178         * lib/full-write.c: Likewise.
66179
66180 2003-01-07  Jim Meyering  <jim@meyering.net>
66181
66182         * lib/full-write.c: Rework so that it may serve to define full_read,
66183         too.
66184         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
66185
66186 2003-01-07  Bruno Haible  <bruno@clisp.org>
66187
66188         * lib/strtoimax.c: Include <stdint.h> as an alternative to
66189         <inttypes.h>.
66190         * lib/xstrtol.h: Likewise.
66191         * lib/xstrtoimax.c: Likewise.
66192         * lib/xstrtoumax.c: Likewise.
66193         * lib/human.h: Likewise.
66194
66195         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
66196         on systems that have <inttypes.h> but not <stdint.h>.
66197
66198 2003-01-07  Bruno Haible  <bruno@clisp.org>
66199
66200         * MODULES.html.sh: Add copyright notice.
66201         (missed_files): Omit CVS directory entries.
66202         (func_module): Make it work with sed-3.02.
66203         * MODULES.txt: Remove file.
66204
66205 2003-01-06  Jim Meyering  <jim@meyering.net>
66206
66207         * lib/version-etc.c: Update year in translatable copyright string.
66208
66209 2003-01-03  Karl Berry  <karl@gnu.org>
66210
66211         * config/config.{guess,sub}: update from prep.
66212
66213 2003-01-02  Karl Berry  <karl@gnu.org>
66214
66215         * doc/COPYING.DOC: belatedly updated to 1.2.
66216
66217 2003-01-01  Karl Berry  <karl@gnu.org>
66218
66219         * gnulib-tool (func_verify_module): report module name $module in
66220         error message, not $1.
66221         * gnulib-tool (create-testdir): don't complain if destdir couldn't
66222         be created, only if it doesn't exist.
66223         * gnulib-tool (last_checkin_date): don't expand the $Date here.
66224
66225 2002-12-31  Paul Eggert  <eggert@twinsun.com>
66226
66227         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
66228
66229 2002-12-31  Paul Eggert  <eggert@twinsun.com>
66230
66231         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
66232         memcmp if strcoll doesn't work.
66233
66234 2002-12-31  Bruno Haible  <bruno@clisp.org>
66235
66236         * lib/utime.c (utime_null): No need to call ftruncate if the file was
66237         nonempty.
66238
66239 2002-12-31  Bruno Haible  <bruno@clisp.org>
66240
66241         * lib/memcoll.c (STRCOLL): New macro.
66242         (memcoll): Use it.
66243
66244 2002-12-31  Bruno Haible  <bruno@clisp.org>
66245
66246         * lib/localcharset.h: New file.
66247         * lib/localcharset.c: Include it.
66248         * lib/unicodeio.c: Likewise.
66249
66250 2002-12-31  Bruno Haible  <bruno@clisp.org>
66251
66252         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
66253         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
66254
66255 2002-12-31  Bruno Haible  <bruno@clisp.org>
66256
66257         * lib/getline.h: Include <stddef.h>, for size_t.
66258
66259         * lib/unicodeio.h: Include <stddef.h>, for size_t.
66260         * lib/unicodeio.c: Don't include <stddef.h>.
66261
66262 2002-12-31  Bruno Haible  <bruno@clisp.org>
66263
66264         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
66265         HAVE_TM_ZONE.
66266
66267 2002-12-24  Karl Berry  <karl@gnu.org>
66268
66269         * config/config.guess: update from prep.
66270
66271 2002-12-24  Bruno Haible  <bruno@clisp.org>
66272
66273         General infrasructure.
66274         * m4/README: Rewritten.
66275         * m4/onceonly.m4: New file.
66276         * m4/onceonly_2_57.m4: New file.
66277
66278         Module atexit.
66279         * m4/atexit.m4: New file.
66280
66281         Module strtod.
66282         * m4/strtod.m4: New file.
66283
66284         Module strtol.
66285         * m4/strtol.m4: New file.
66286
66287         Module strtoul.
66288         * m4/strtoul.m4: New file.
66289
66290         Module memchr.
66291         * m4/memchr.m4: New file.
66292
66293         Module memcmp.
66294         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
66295         (jm_FUNC_MEMCMP): Invoke it.
66296
66297         Module memcpy.
66298         * m4/memcpy.m4: New file.
66299
66300         Module memmove.
66301         * m4/memmove.m4: New file.
66302
66303         Module memset.
66304         * m4/memset.m4: New file.
66305
66306         Module strcspn.
66307         * m4/strcspn.m4: New file.
66308
66309         Module strpbrk.
66310         * m4/strpbrk.m4: New file.
66311
66312         Module strstr.
66313         * m4/strstr.m4: New file.
66314
66315         Module strerror.
66316         * m4/strerror.m4: New file.
66317
66318         Module mktime.
66319         * m4/mktime.m4: Renamed from jm-mktime.m4.
66320         (gl_PREREQ_MKTIME): New macro.
66321         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
66322
66323         Module malloc.
66324         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
66325         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
66326         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
66327
66328         Module realloc.
66329         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
66330         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
66331         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
66332
66333         Module strftime.
66334         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
66335         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
66336         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
66337         gl_TM_GMTOFF.
66338         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
66339
66340         Module xalloc.
66341         * m4/xalloc.m4: New file.
66342
66343         Module alloca.
66344         * m4/alloca.m4: New file.
66345
66346         Module putenv.
66347         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
66348         (jm_FUNC_PUTENV): Invoke it.
66349
66350         Module setenv.
66351         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
66352         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
66353         when invoked twice.
66354         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
66355         gt_FUNC_SETENV.
66356
66357         Module memrchr.
66358         * m4/memrchr.m4: New file.
66359
66360         Module stpcpy.
66361         * m4/stpcpy.m4: New file.
66362
66363         Module strcase.
66364         * m4/strcase.m4: New file.
66365
66366         Module strdup.
66367         * m4/strdup.m4: New file.
66368
66369         Module strnlen.
66370         * m4/strnlen.m4: New file.
66371
66372         Module strndup.
66373         * m4/strndup.m4: New file.
66374
66375         Module xstrtod.
66376         * m4/xstrtod.m4: New file.
66377
66378         Module xstrtol.
66379         * m4/xstrtol.m4: New file.
66380
66381         Module getdate.
66382         * m4/getdate.m4: New file.
66383
66384         Module unlocked-io.
66385         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
66386         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
66387         * m4/jm-glibc-io.m4n: Remove file.
66388
66389         Module long-options.
66390         * m4/long-options.m4: New file.
66391
66392         Module md5.
66393         * m4/md5.m4: New file.
66394
66395         Module sha.
66396         * m4/sha.m4: New file.
66397
66398         Module getstr.
66399         * m4/getstr.m4: New file.
66400
66401         Module getline.
66402         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
66403         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
66404         <sys/types.h>, for size_t. Use the function name gnu_getline, not
66405         simply getline. Infoke gl_PREREQ_GETLINE.
66406
66407         Module obstack.
66408         * m4/obstack.m4: New file.
66409
66410         Module hash.
66411         * m4/hash.m4: New file.
66412
66413         Module readtokens.
66414         * m4/readtokens.m4: New file.
66415
66416         Module strverscmp.
66417         * m4/strverscmp.m4: New file.
66418
66419         Module stdbool.
66420         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
66421         OSF/1.
66422
66423         Module strtoll.
66424         * m4/strtoll.m4: New file.
66425
66426         Module strtoull.
66427         * m4/strtoull.m4: New file.
66428
66429         Module strtoimax.
66430         * m4/strtoimax.m4: New file.
66431
66432         Module strtoumax.
66433         * m4/strtoumax.m4: New file.
66434
66435         Module xstrtoimax.
66436         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
66437         jm_AC_PREREQ_XSTRTOIMAX.
66438         Moved the strtol prerequisites to strtol.m4.
66439         Moved the strtoll prerequisites to strtoll.m4.
66440         Moved the strtoimax prerequisites to strtoimax.m4.
66441
66442         Module xstrtoumax.
66443         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
66444         jm_AC_PREREQ_XSTRTOUMAX.
66445         Moved the strtoul prerequisites to strtoul.m4.
66446         Moved the strtoull prerequisites to strtoull.m4.
66447         Moved the strtoumax prerequisites to strtoumax.m4.
66448
66449         Module chown.
66450         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
66451         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
66452
66453         Module dup2.
66454         * m4/dup2.m4: New file.
66455
66456         Module ftruncate.
66457         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
66458         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
66459
66460         Module getgroups.
66461         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
66462         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
66463
66464         Module gettimeofday.
66465         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
66466         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
66467         gl_PREREQ_GETTIMEOFDAY.
66468
66469         Module mkdir.
66470         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
66471         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
66472
66473         Module mkstemp.
66474         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
66475         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
66476         jm_AC_TYPE_UINTMAX_T.
66477         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
66478
66479         Module stat.
66480         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
66481         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
66482
66483         Module lstat.
66484         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
66485         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
66486
66487         Module timespec.
66488         * m4/timespec.m4 (gl_TIMESPEC): New macro.
66489         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
66490         * m4/st_mtim.m4: Indentation.
66491
66492         Module nanosleep.
66493         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
66494         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
66495         gl_PREREQ_NANOSLEEP.
66496
66497         Module regex.
66498         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
66499         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
66500         (gl_REGEX): New macro.
66501
66502         Module rename.
66503         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
66504         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
66505
66506         Module rmdir.
66507         * m4/rmdir.m4: New file.
66508
66509         Module utime.
66510         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
66511         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
66512         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
66513
66514         Module dirname.
66515         * m4/dirname.m4: New file.
66516
66517         Module getopt.
66518         * m4/getopt.m4: New file.
66519
66520         Module unistd-safer.
66521         * m4/unistd-safer.m4: New file.
66522
66523         Module fnmatch.
66524         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
66525         declaration.
66526         (gl_PREREQ_FNMATCH_EXTRA): New macro.
66527         (gl_FUNC_FNMATCH_POSIX): New macro.
66528         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
66529         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
66530         simply fnmatch.
66531
66532         Module exclude.
66533         * m4/exclude.m4: New file.
66534
66535         Module human.
66536         * m4/human.m4: New file.
66537
66538         Module acl.
66539         * m4/acl.m4: Nop.
66540
66541         Module backupfile.
66542         * m4/backupfile.m4: New file.
66543         * m4/d-ino.m4: Indentation.
66544
66545         Module fsusage.
66546         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
66547         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
66548         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
66549
66550         Module dirfd.
66551         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
66552         requirements.
66553
66554         Module euidaccess.
66555         * m4/euidaccess.m4: New file.
66556
66557         Module file-type.
66558         * m4/file-type.m4: New file.
66559
66560         Module fileblocks.
66561         * m4/fileblocks.m4: New file.
66562
66563         Module filemode.
66564         * m4/filemode.m4: New file.
66565
66566         Module isdir.
66567         * m4/isdir.m4: New file.
66568
66569         Module lchown.
66570         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
66571         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
66572
66573         Module makepath.
66574         * m4/makepath.m4: New file.
66575
66576         Module modechange.
66577         * m4/modechange.m4: New file.
66578
66579         Module mountlist.
66580         * m4/mountlist.m4: New file.
66581         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
66582         Indentation.
66583
66584         Module path-concat.
66585         * m4/path-concat.m4: New file.
66586
66587         Module pathmax.
66588         * m4/pathmax.m4: New file.
66589
66590         Module same.
66591         * m4/same.m4: New file.
66592
66593         Module save-cwd.
66594         * m4/save-cwd.m4: New file.
66595
66596         Module savedir.
66597         * m4/savedir.m4: New file.
66598
66599         Module xgetcwd.
66600         * m4/xgetcwd.m4: New file.
66601         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
66602
66603         Module xreadlink.
66604         * m4/xreadlink.m4: New file.
66605
66606         Module safe-read.
66607         * m4/safe-read.m4: New file.
66608
66609         Module safe-write.
66610         * m4/safe-write.m4: New file.
66611
66612         Module closeout.
66613         * m4/closeout.m4: New file.
66614
66615         Module stdio-safer.
66616         * m4/stdio-safer.m4: New file.
66617
66618         Module getpass.
66619         * m4/getpass.m4: New file.
66620
66621         Module getugroups.
66622         * m4/getugroups.m4: New file.
66623
66624         Module group-member.
66625         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
66626         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
66627
66628         Module idcache.
66629         * m4/idcache.m4: New file.
66630
66631         Module userspec.
66632         * m4/userspec.m4: New file.
66633
66634         Module gettime.
66635         * m4/clock_time.m4: New file.
66636         * m4/gettime.m4: New file.
66637
66638         Module settime.
66639         * m4/settime.m4: New file.
66640
66641         Module posixtm.
66642         * m4/posixtm.m4: New file.
66643
66644         Module gethostname.
66645         * m4/gethostname.m4: New file.
66646
66647         Module canon-host.
66648         * m4/canon-host.m4: New file.
66649
66650         Module gettext.
66651         * m4/codeset.m4: New file, from gettext-0.11.5.
66652         * m4/gettext.m4: New file, from gettext-0.11.5.
66653         * m4/glibc21.m4: New file, from gettext-0.11.5.
66654         * m4/iconv.m4: New file, from gettext-0.11.5.
66655         * m4/intdiv0.m4: New file, from gettext-0.11.5.
66656         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
66657         * m4/inttypes.m4: New file, from gettext-0.11.5.
66658         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
66659         * m4/isc-posix.m4: New file, from gettext-0.11.5.
66660         * m4/lcmessage.m4: New file, from gettext-0.11.5.
66661         * m4/lib-ld.m4: New file, from gettext-0.11.5.
66662         * m4/lib-link.m4: New file, from gettext-0.11.5.
66663         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
66664         * m4/progtest.m4: New file, from gettext-0.11.5.
66665         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
66666         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
66667         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
66668
66669         Module localcharset.
66670         * m4/localcharset.m4: New file.
66671
66672         Module hard-locale.
66673         * m4/hard-locale.m4: New file.
66674
66675         Module mbswidth.
66676         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
66677         onceonly macros.
66678         * m4/mbrtowc.m4: Add comment.
66679
66680         Module memcasecmp.
66681         * m4/memcasecmp.m4: New file.
66682
66683         Module memcoll.
66684         * m4/memcoll.m4: New file.
66685
66686         Module unicodeio.
66687         * m4/unicodeio.m4: New file.
66688
66689         Module rpmatch.
66690         * m4/rpmatch.m4: New file.
66691
66692         Module yesno.
66693         * m4/yesno.m4: New file.
66694
66695         Module exitfail.
66696         * m4/exitfail.m4: New file.
66697
66698         Module c-stack.
66699         * m4/c-stack.m4 (gl_C_STACK): New macro.
66700         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
66701
66702         Module error.
66703         * m4/error.m4 (gl_ERROR): New macro.
66704         (jm_PREREQ_ERROR): Use onceonly macros.
66705
66706         Module fatal.
66707         * m4/fatal.m4: New file.
66708
66709         Module getloadavg.
66710         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
66711         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
66712
66713         Module getpagesize.
66714         * m4/getpagesize.m4: New file.
66715
66716         Module getusershell.
66717         * m4/getusershell.m4: New file.
66718
66719         Module physmem.
66720         * m4/physmem.m4: New file.
66721
66722         Module posixver.
66723         * m4/posixver.m4: New file.
66724
66725         Module quotearg.
66726         * m4/quotearg.m4: New file.
66727
66728         Module quote.
66729         * m4/quote.m4: New file.
66730
66731         Module readutmp.
66732         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
66733
66734         Module sig2str.
66735         * m4/sig2str.m4: New file.
66736
66737         Other.
66738         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
66739         ulonglong.m4.
66740         * m4/intmax_t.m4: New file.
66741         * m4/d-type.m4: Indentation.
66742         * m4/jm-macros.m4: Update.
66743         * m4/prereq.m4 (jm_PREREQ): Update.
66744         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
66745         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
66746         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
66747         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
66748         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
66749         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
66750         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
66751         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
66752         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
66753         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
66754         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
66755         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
66756         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
66757         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
66758         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
66759         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
66760         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
66761         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
66762         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
66763
66764 2002-12-24  Bruno Haible  <bruno@clisp.org>
66765
66766         * MODULES.txt: Update according to m4/ changes.
66767
66768         Module gettext.
66769         * config.rpath: New file, from gettext-0.11.5.
66770
66771         * modules/*: New module descriptions.
66772         * gnulib-tool: New file.
66773         * MODULES.html.sh: New file.
66774
66775 2002-12-21  Karl Berry  <karl@gnu.org>
66776
66777         * doc/fdl.texi: update to version 1.2.
66778
66779 2002-12-19  Karl Berry  <karl@gnu.org>
66780
66781         * config/config.guess: update from prep.
66782
66783 2002-12-18  Bruno Haible  <bruno@clisp.org>
66784
66785         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
66786         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
66787
66788 2002-12-17  Bruno Haible  <bruno@clisp.org>
66789
66790         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
66791         stdlib.h, string.h.
66792
66793 2002-12-17  Bruno Haible  <bruno@clisp.org>
66794
66795         * lib/canon-host.c (strdup): Remove unused declaration.
66796
66797         * lib/fsusage.c: Include full_read.h.
66798         (get_fs_usage): Use full_read instead of safe_read.
66799
66800         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
66801
66802 2002-12-12  Karl Berry  <karl@gnu.org>
66803
66804         * config/config.guess: update from prep.
66805
66806 2002-12-11  Bruno Haible  <bruno@clisp.org>
66807
66808         * m4/setenv.m4: New file, from gettext-0.11.5.
66809
66810 2002-12-11  Bruno Haible  <bruno@clisp.org>
66811
66812         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
66813         not unsetenv().
66814         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
66815         modifications:
66816
66817         2002-12-11  Bruno Haible  <bruno@clisp.org>
66818
66819                 * setenv.c (alloca): Fall back to malloc.
66820                 (freea): New macro.
66821                 (setenv): Use freea() to free memory allocated with alloca().
66822
66823         2002-11-13  Bruno Haible  <bruno@clisp.org>
66824
66825                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
66826                 function declarations.
66827                 * unsetenv.c (unsetenv): Likewise.
66828
66829         2002-03-04  Bruno Haible  <bruno@clisp.org>
66830
66831                 Portability to AIX 4.3.3.
66832                 * unsetenv.c: New file, extracted from setenv.c.
66833                 * setenv.c: Move the unsetenv() function to unsetenv.c.
66834
66835         2001-12-20  Bruno Haible  <bruno@clisp.org>
66836
66837                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
66838                 use malloc instead. For SunOS 4.
66839
66840         2001-12-11  Bruno Haible  <bruno@clisp.org>
66841
66842                 * setenv.c: Declare alloca.
66843                 (compar_fn_t): New typedef.
66844                 (KNOWN_VALUE, STORE_VALUE): Use it.
66845
66846         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
66847         setenv.h.
66848
66849 2002-12-10  Paul Eggert  <eggert@twinsun.com>
66850
66851         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
66852         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
66853         Choose values that are less likely to collide with system fnmatch
66854         options.
66855         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
66856         defined (e.g., a pure POSIX system).
66857         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
66858         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
66859
66860 2002-12-06  Paul Eggert  <eggert@twinsun.com>
66861
66862         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
66863         a pain in practice to deal with generated m4 files.  This change
66864         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
66865
66866         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
66867         and jm-glibc-io.m4, as they are no longer a special case.
66868         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
66869         kludge and the auto-generation stuff.  Check only whether the
66870         functions are declared, not whether they exist, since older hosts
66871         that don't declare the functions can't use the optimization anyway.
66872
66873 2002-12-06  Jim Meyering  <jim@meyering.net>
66874
66875         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
66876
66877         Merge in changes from libc's misc/error.c, in preparation
66878         for the merge of gnulib's changes back into libc.
66879
66880         * lib/error.c (_): Define only if not already defined.
66881         Move definition to follow all #include directives.
66882         Include unlocked-io.h only if !_LIBC.
66883         [_LIBC]: Include <libio/libioP.h>.
66884         [USE_IN_LIBIO]: Include <libio/iolibio.h>
66885         (fflush): Tweak definition to use INTUSE.
66886         (putc): Define.
66887
66888 2002-12-05  Paul Eggert  <eggert@twinsun.com>
66889
66890         * lib/alloca.c [defined emacs]: Include "lisp.h".
66891         (xalloc_die) [defined emacs]: New macro.
66892         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
66893         [! defined emacs]: Include <xalloc.h>.
66894         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
66895         (pointer): Typedef to POINTER_TYPE *.
66896         (malloc): Remove decl; we now always use xmalloc.
66897         (alloca): Use old-style definition, since Emacs needs this.
66898         Check for arithmetic overflow when computing combined size.
66899
66900 2002-12-04  Paul Eggert  <eggert@twinsun.com>
66901
66902         Do not generate unlocked-io.h automatically, since it's easier to
66903         maintain it by hand.
66904
66905         * lib/unlocked-io.h: New file, from GNU diffutils,
66906         but with proper copyright notice and attribution.
66907         * lib/gen-uio: Remove.
66908         * lib/Makefile.am: Add copyright notice.
66909         (libfetish_a_SOURCES): Add unlocked-io.h.
66910         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
66911         (DISTCLEANFILES, io_functions): Remove macros.
66912         (EXTRA_DIST): Remove gen_uio.
66913         (unlocked-io.h): Remove rule.
66914
66915 2002-12-04  Jim Meyering  <jim@meyering.net>
66916
66917         Reflect the fact that stat.c and lstat.c are no longer generated.
66918         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
66919         (DISTCLEANFILES): Likewise.
66920         (EXTRA_DIST): Likewise.
66921         (all_local): Don't depend on stat.c or lstat.c.
66922         (stat.c, lstat.c): Remove rules.
66923         (EXTRA_DIST): Remove xstat.in.
66924
66925         * lib/xstat.in: Remove file.  Contents moved into stat.c.
66926         * lib/stat.c: New file.  Contents mostly from xstat.in.
66927         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
66928         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
66929
66930         * lib/safe-read.c: Rework so that it may serve to define safe_write,
66931         too.
66932         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
66933
66934 2002-12-03  Jim Meyering  <jim@meyering.net>
66935
66936         * lib/safe-read.c, safe-write.c: Change variable names and comments,
66937         but not semantics, to minimize the differences between these two files.
66938         (safe_read): Change comment to mention SAFE_READ_ERROR.
66939
66940         * lib/safe-read.c (IS_EINTR): Define.
66941         (safe_read): Use IS_EINTR in place of in-function cpp directives.
66942
66943 2002-12-02  Jim Meyering  <jim@meyering.net>
66944
66945         * lib/safe-read.c (EINTR): Define.
66946         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
66947         (INT_MAX): Provide fallback.
66948         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
66949
66950         * lib/safe-read.h (SAFE_READ_ERROR): Define.
66951
66952 2002-12-02  Bruno Haible  <bruno@clisp.org>
66953
66954         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
66955         Define, taken from safe-read.c.
66956         (INT_MAX): Provide fallback.
66957         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
66958         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
66959
66960         * lib/safe-read.c (EINTR): Remove definition.
66961         (safe_read): Don't use EINTR if it is absent.
66962
66963 2002-12-01  Jim Meyering  <jim@meyering.net>
66964
66965         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
66966         zero.
66967         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
66968
66969 2002-11-27  Paul Eggert  <eggert@twinsun.com>
66970
66971         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
66972         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
66973         with `if (! (value < limit)) abort ();', for readability.
66974
66975 2002-11-26  Karl Berry  <karl@gnu.org>
66976
66977         * lib/strdup.c: copy from libc again, with jim's ok.
66978         * lib/.cppi-disable: re-add strdup.c
66979
66980 2002-11-25  Karl Berry  <karl@gnu.org>
66981
66982         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
66983         instead of "strtol.c".
66984
66985 2002-11-25  Karl Berry  <karl@gnu.org>
66986
66987         * config/install-sh: update from automake for variable quoting, $0 in
66988         error msgs, etc.
66989
66990         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
66991         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
66992         entry.
66993
66994 2002-11-25  Jim Meyering  <jim@meyering.net>
66995
66996         * lib/mktime.c: Sync from libc, now that it has the latest fix.
66997
66998 2002-11-24  Karl Berry  <karl@gnu.org>
66999
67000         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
67001         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
67002
67003 2002-11-24  Jim Meyering  <jim@meyering.net>
67004
67005         Update from coreutils:
67006
67007         * lib/mktime.c: Merge in changes from libc.
67008
67009         Avoid a link-time failure on some Linux systems.
67010         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
67011         (otherwise).
67012         (__mon_yday): Declare with the STATIC attribute.
67013         (__mktime_internal): Likewise.
67014         Based on a report from Greg Schafer.
67015
67016 2002-11-23  Jim Meyering  <jim@meyering.net>
67017
67018         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
67019         Use `unsigned', not `int', as type of index.
67020
67021         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
67022
67023         * lib/fsusage.c: Remove unneeded parentheses around operands of
67024         `defined'.
67025
67026 2002-11-22  Paul Eggert  <eggert@twinsun.com>
67027
67028         * lib/quotearg.h: Allow multiple inclusion by surrounding with
67029         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
67030         so that we can be included first.
67031         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
67032         * lib/quotearg.c: Include quotearg.h immediately after config.h.
67033         No need to include stddef.h or sys/types.h any more.
67034         Surround local include files with "", not "<>".
67035         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
67036         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
67037         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
67038         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
67039         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
67040         (ISPRINT): Remove; no longer needed now that we assume C89.
67041
67042         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
67043         Preserve errno.
67044
67045         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
67046         quotearg_char): Use SIZE_MAX rather than
67047         (size_t) -1 when we are talking about "infinity".
67048
67049         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
67050
67051 2002-11-22  Paul Eggert  <eggert@twinsun.com>
67052
67053         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
67054         hint that one should use `if (! x) abort ();' rather than `assert
67055         (x);', and anyway it's one less thing to worry about configuring.
67056         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
67057         hash_rehash, hash_insert): Use abort rather than assert.
67058
67059 2002-11-22  Bruno Haible  <bruno@clisp.org>
67060
67061         * lib/safe-read.h: Assume C89. Add comments.
67062         (safe_read): Change return type to size_t.
67063         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
67064         byte counts > SSIZE_MAX correctly.
67065         * lib/safe-write.h: New file.
67066         * lib/safe-write.c: New file.
67067         * lib/full-read.h: New file.
67068         * lib/full-read.c: New file.
67069         * lib/full-write.h: Assume C89. Add comments.
67070         * lib/full-write.c: Include safe-write.h.
67071         (full_write): Rewritten to use safe_write.
67072         Suggested by Jim Meyering and Paul Eggert.
67073
67074 2002-11-21  Jim Meyering  <jim@meyering.net>
67075
67076         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
67077
67078         Merge in changes from the coreutils.
67079
67080         2002-09-25  Paul Eggert  <eggert@twinsun.com>
67081         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
67082         <stdint.h>.
67083         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
67084         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
67085         int.  Work more efficiently if X is the same width as uintmax_t.
67086         Do not compare X to -1, to avoid bogus compiler warning.
67087         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
67088         Don't assume that f_frsize and f_bsize are the same type.
67089
67090         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
67091         warning on FreeBSD.
67092
67093         * lib/makepath.c (make_path): Restore umask *before* creating the final
67094         component.
67095         (make_path): Minor reformatting.
67096
67097         * lib/xmalloc.c: Adjust to work with new autoconf macros,
67098         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
67099         HAVE_MALLOC/HAVE_REALLOC.
67100
67101         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
67102         dummy ones.  At least on GNU/Linux systems, `auto' means something
67103         else.
67104         From Michael Stone.
67105
67106 2002-11-21  Bruno Haible  <bruno@clisp.org>
67107
67108         Remove case insensitive option matching.
67109         * lib/argmatch.h (argcasematch): Remove declaration.
67110         (ARGCASEMATCH): Remove macro.
67111         (__xargmatch_internal): Remove case_sensitive argument.
67112         (XARGMATCH): Update.
67113         (XARGCASEMATCH): Remove macro.
67114         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
67115         case_sensitive argument.
67116         (argcasematch): Remove function.
67117         (__xargmatch_internal): Remove case_sensitive argument.
67118         (main): Use XARGMATCH instead of XARGCASEMATCH.
67119
67120         * lib/xmalloc.c: Change compile-time error message. Add comment about
67121         required autoconf version.
67122
67123 2002-11-20  Paul Eggert  <eggert@twinsun.com>
67124
67125         Merge argmatch cleanups from Bison.  Assume C89.
67126
67127         * lib/argmatch.c: Include config.h here, not in argmatch.h.
67128         Include stdlib.h, for EXIT_FAILURE.
67129         Always include <string.h>, since we assume C89.
67130         (EXIT_FAILURE): Remove pre-C89 bug workaround.
67131         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
67132         Include <stddef.h> instead, since it's all we need for size_t.
67133         (PARAMS): Remove.  All uses removed.
67134         (ARRAY_CARDINALITY): Do not bother to #undef.
67135         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
67136         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
67137         Remove unnecessary parentheses.
67138         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
67139         Insert necessary parentheses.
67140         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
67141         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
67142
67143 2002-11-19  Bruno Haible  <bruno@clisp.org>
67144
67145         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
67146         * lib/mbswidth.h: Include <stddef.h>, for size_t.
67147
67148         * lib/mbswidth.h (PARAMS): Remove macro.
67149         (mbswidth, mbsnwidth): Use ANSI C function declarations.
67150         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
67151
67152         * lib/gcd.h (PARAMS): Remove macro.
67153         (gcd): Use ANSI C function declarations.
67154         * lib/gcd.c (gcd): Likewise.
67155
67156 2002-11-15  Bruno Haible  <bruno@clisp.org>
67157
67158         * lib/strcspn.c: Include <stddef.h>.
67159         (strcspn): Use ANSI C function declaration. Change return type to
67160         size_t. Use NULL.
67161         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
67162         (strpbrk): Use NULL.
67163         * lib/strpbrk.h (PARAMS): Remove macro.
67164         (strpbrk): Use ANSI C function declaration.
67165         * lib/strstr.c: Don't include <sys/types.h>.
67166         * lib/strstr.h (PARAMS): Remove macro.
67167         (strstr): Use ANSI C function declarations.
67168
67169 2002-11-14  Karl Berry  <karl@gnu.org>
67170
67171         * config/mkinstalldirs: `do' on separate line, instead of
67172         `for var; do'.
67173
67174 2002-11-06  Bruno Haible  <bruno@clisp.org>
67175
67176         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
67177         * lib/gcd.c (gcd): Likewise.
67178
67179 2002-11-05  Bruno Haible  <bruno@clisp.org>
67180
67181         * lib/gcd.h: New file, from gettext-0.11.5.
67182         * lib/gcd.c: New file, from gettext-0.11.5.
67183
67184 2002-11-05  Bruno Haible  <bruno@clisp.org>
67185
67186         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
67187         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
67188         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
67189         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
67190
67191         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
67192         <libintl.h>.
67193         * lib/makepath.c: Include gettext.h instead of <locale.h> and
67194         <libintl.h>.
67195
67196         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
67197         * lib/human.c: Include gettext.h instead of <libintl.h>.
67198         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
67199         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
67200         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
67201         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
67202         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
67203         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
67204         (textdomain): Remove definition.
67205         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
67206
67207         * lib/long-options.c: Remove include of <libintl.h> and definition of
67208         _.
67209         * lib/same.c: Remove include of <libintl.h> and definition of _.
67210
67211 2002-11-04  Owen Taylor  <otaylor@redhat.com>
67212
67213         * lib/config.charset: A few additions for Solaris.
67214
67215 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
67216
67217         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
67218         * lib/localcharset.c (locale_charset): Declare as extern "C".
67219
67220 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
67221
67222         * lib/config.charset: msdos in uk_UA uses CP1125.
67223
67224 2002-11-04  Bruno Haible  <bruno@clisp.org>
67225
67226         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
67227         * lib/strcase.h: New file, from GNU gettext-0.11.5.
67228         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
67229         * lib/strstr.h: New file, from GNU gettext-0.11.5.
67230         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
67231
67232 2002-11-04  Bruno Haible  <bruno@clisp.org>
67233
67234         * lib/localcharset.c (locale_charset): Don't return an empty string.
67235
67236 2002-11-04  Bruno Haible  <bruno@clisp.org>
67237
67238         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
67239         aliases.
67240
67241 2002-11-04  Bruno Haible  <bruno@clisp.org>
67242
67243         * lib/config.charset: Update for newest glibc. Add canonical names
67244         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
67245
67246 2002-11-04  Bruno Haible  <bruno@clisp.org>
67247
67248         * lib/config.charset: Add support for NetBSD.
67249
67250 2002-11-04  Bruno Haible  <bruno@clisp.org>
67251
67252         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
67253
67254 2002-11-01  Bruno Haible  <bruno@clisp.org>
67255
67256         * configure.in: Add AC_CONFIG_AUX_DIR call.
67257         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
67258         test/Makefile.
67259         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
67260
67261 2002-09-28  Karl Berry  <karl@gnu.org>
67262
67263         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
67264         installed automake until the next release, since changes have been
67265         made.
67266
67267 2002-09-25  Karl Berry  <karl@gnu.org>
67268
67269         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
67270         * lib/getopt*: copy from libc/posix.
67271         * lib/gettext.h: copy from gettext.
67272         * lib/.cppi-disable: add strdup.c, gettext.h.
67273
67274 2002-09-25  Karl Berry  <karl@gnu.org>
67275
67276         * config/srclist.txt: enable gettext.h check.
67277         * config/config.{guess,sub}: update from prep.
67278         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
67279                 from automake 1.6.3.
67280         See srclist*.
67281
67282 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
67283
67284         * regex.c (PATFETCH): Remove the translating fetch.
67285         (PATFETCH_RAW): Rename to PATFETCH.
67286         (set_image_of_range): New fun.
67287         (SET_RANGE_TABLE_WORK_AREA): Use it.
67288         (regex_compile): Don't translate the pattern chars so eagerly.
67289         Only do it when inserting an `exactn' bytecode or when handling
67290         a char-range.
67291         (mutually_exclusive_p): Avoid empty statement.
67292
67293 2002-07-06  Jim Meyering  <meyering@lucent.com>
67294
67295         * m4/README: Don't mention Makefile.am.in.
67296         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
67297
67298 2002-07-01  Jim Meyering  <meyering@lucent.com>
67299
67300         * lib/c-stack.c: Include sys/time.h.
67301         From Volker Borchert.
67302
67303 2002-06-26  Paul Eggert  <eggert@twinsun.com>
67304
67305         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
67306
67307 2002-06-26  Paul Eggert  <eggert@twinsun.com>
67308
67309         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
67310         New macro.  Use it uniformly instead of
67311         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
67312         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
67313         reported by Vin Shelton.
67314
67315 2002-06-22  Paul Eggert  <eggert@twinsun.com>
67316
67317         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
67318         Do not assume SA_SIGINFO behavior.
67319         Bug reported by Jim Meyering on NetBSD 1.5.2.
67320
67321 2002-06-22  Jim Meyering  <meyering@lucent.com>
67322
67323         * m4/c-stack.m4: New file, from diffutils-2.8.2.
67324         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
67325
67326         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
67327         now that configure.ac uses AC_GNU_SOURCE.
67328         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
67329         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
67330
67331         Update to latest tools.  Suggestions from Paul Eggert.
67332         * m4/stdbool.m4: New file, from diffutils-2.8.2.
67333         * m4/gnu-source.m4: Update from diffutils-2.8.2.
67334         * m4/fnmatch.m4: Likewise.
67335         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
67336         to AC_HEADER_STDBOOL
67337
67338 2002-06-22  Jim Meyering  <meyering@lucent.com>
67339
67340         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
67341         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
67342
67343 2002-06-22  Jim Meyering  <meyering@lucent.com>
67344
67345         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
67346
67347         * lib/exitfail.c, exitfail.h: Likewise.
67348         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
67349
67350         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
67351         of fnmatch.h.
67352         (EXTRA_DIST): Add fnmatch_loop.c.
67353         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
67354
67355         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
67356         * lib/fnmatch.c: Update from diffutils-2.8.2.
67357         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
67358         * lib/fnmatch.h: Remove file.
67359
67360 2002-06-21  Jim Meyering  <meyering@lucent.com>
67361
67362         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
67363         * m4/mbrtowc.m4: Likewise.
67364
67365         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
67366         * m4/mbswidth.m4: Reflect name change:
67367         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
67368         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
67369
67370         * m4/lib-link.m4: Update from gettext-0.11.2.
67371         * m4/gettext.m4: Likewise.
67372
67373         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
67374         From Alfred M. Szmidt.
67375
67376 2002-06-18  Paul Eggert  <eggert@twinsun.com>
67377
67378         * lib/file-type.h: Report an error if neither S_ISREG nor
67379         S_IFREG is defined, instead of using a test specific to glibc
67380         2.2.  This should be safe, since POSIX requires S_ISREG and
67381         Unix Version 7 had S_IFREG.  We don't need to check for
67382         <sys/types.h> since we don't use any symbols that it defines.
67383
67384 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
67385
67386         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
67387         $@-t, so that each temporary file name is unique and valid in the first
67388         8 characters, for operation under DOS.
67389
67390 2002-06-15  Paul Eggert  <eggert@twinsun.com>
67391
67392         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
67393
67394 2002-06-15  Jim Meyering  <meyering@lucent.com>
67395
67396         Work even with DJGPP 2.03, which lacks support for symlinks.
67397         From Richard Dawe.
67398         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
67399         is defined.
67400         * lib/lchown.c (S_ISLNK): Likewise.
67401
67402 2002-06-15  Jim Meyering  <meyering@lucent.com>
67403
67404         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
67405         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
67406         have been included before this file.
67407
67408 2002-06-14  Jim Meyering  <meyering@lucent.com>
67409
67410         * lib/file-type.h: Use the version from diffutils-2.8.2.
67411         * lib/file-type.c: Likewise.
67412
67413 2002-06-07  Jim Meyering  <meyering@lucent.com>
67414
67415         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
67416         They're needed at least for NetBSD 1.5.2.
67417         ($statxfs_includes): Include those same headers.
67418         ($statxfs_includes): Include sys/vfs.h if available.
67419         ($statxfs_includes): Likewise for sys/statvfs.h.
67420         Check for the following members in both structs statfs and statvfs:
67421         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
67422
67423 2002-06-01  Jim Meyering  <meyering@lucent.com>
67424
67425         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
67426         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
67427
67428 2002-05-28  Jim Meyering  <meyering@lucent.com>
67429
67430         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
67431         Reported by Volker Borchert.
67432
67433 2002-05-27  Jim Meyering  <meyering@lucent.com>
67434
67435         Fix a problem seen only on nonconforming systems whereby ls.c's
67436         use of localtime, and then of gettimeofday would cause trouble:
67437         the localtime call used to initialize rpl_gettimeofday's save
67438         mechanism would clobber ls's current local time information so
67439         that in any long listing the first file would always be listed
67440         with date 1970-01-01.  Analysis by Volker Borchert.
67441
67442         * lib/gettimeofday.c (localtime): Undefine.
67443         (rpl_localtime): New function.
67444
67445 2002-05-27  Jim Meyering  <meyering@lucent.com>
67446
67447         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
67448         localtime.
67449
67450         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
67451         use the replacement function; it wouldn't resolve at link time.
67452         Reported by Volker Borchert.
67453
67454 2002-05-22  Jim Meyering  <meyering@lucent.com>
67455
67456         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
67457         file-type.h.
67458         * lib/file-type.h: New file.
67459         * lib/file-type.c (file_type): New file/function.  Extracted from
67460         diffutils.
67461
67462 2002-04-30  Jim Meyering  <meyering@lucent.com>
67463
67464         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
67465
67466 2002-04-29  Paul Eggert  <eggert@twinsun.com>
67467
67468         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
67469
67470 2002-04-29  Paul Eggert  <eggert@twinsun.com>
67471
67472         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
67473         Do not check for alloca.h (no longer used) or stdbool.h (was never
67474         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
67475
67476 2002-04-29  Paul Eggert  <eggert@twinsun.com>
67477
67478         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
67479
67480 2002-04-29  Jim Meyering  <meyering@lucent.com>
67481
67482         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
67483         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
67484         Use AC_FUNC_STRNLEN here instead.
67485
67486         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
67487         With autoconf-2.53a, it's part of AC_PROG_CC.
67488
67489 2002-04-28  Paul Eggert  <eggert@twinsun.com>
67490
67491         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
67492         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
67493
67494 2002-04-28  Paul Eggert  <eggert@twinsun.com>
67495
67496         * lib/sig2str.h, lib/sig2str.c: New files.
67497         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
67498
67499 2002-04-28  Paul Eggert  <eggert@twinsun.com>
67500
67501         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
67502         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
67503         of 127, since 64 is the largest conceivable number for ancient
67504         nonstandard hosts.
67505         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
67506
67507 2002-04-28  Jim Meyering  <meyering@lucent.com>
67508
67509         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
67510
67511 2002-04-24  Jim Meyering  <meyering@lucent.com>
67512
67513         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
67514         (jm_PREREQ): Use it.
67515
67516         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
67517         mach/mach.h fcntl.h.
67518         Check for this function: setlocale.
67519
67520 2002-04-24  Jim Meyering  <meyering@lucent.com>
67521
67522         * lib/gettext.h: New file, from Gettext.
67523         * lib/Makefile.am (INCLUDES): Remove -I../intl.
67524         (libfetish_a_SOURCES): Add gettext.h.
67525
67526 2002-04-16  Jim Meyering  <meyering@lucent.com>
67527
67528         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
67529         ut_pid, ut_id, ut_exit.
67530
67531 2002-04-16  Jim Meyering  <meyering@lucent.com>
67532
67533         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
67534         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
67535         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
67536
67537 2002-04-12  Jim Meyering  <meyering@lucent.com>
67538
67539         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
67540         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
67541         existence of the getmntinfo function.  Needed for Darwin 5.3.
67542
67543         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
67544         This is necessary at least on Darwin 5.3.
67545
67546         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
67547         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
67548         strnlen.o in the library, and that makes some versions of ranlib
67549         object.
67550
67551 2002-04-12  Jim Meyering  <meyering@lucent.com>
67552
67553         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
67554
67555 2002-04-09  Jim Meyering  <meyering@lucent.com>
67556
67557         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
67558         to be more precise.  Rather than saying we're checking whether the
67559         function `works', say what we're testing.
67560         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
67561         Reported by Bruno Haible.
67562
67563 2002-03-10  Jim Meyering  <meyering@lucent.com>
67564
67565         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
67566         Suggestion from Santiago Vila.
67567
67568 2002-03-08  Jim Meyering  <meyering@lucent.com>
67569
67570         * lib/rename.c: Mention that this wrapper is needed also on
67571         mips-dec-ultrix4.4 systems.
67572
67573 2002-03-02  Jim Meyering  <meyering@lucent.com>
67574
67575         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
67576         not HAVE_CLOCK_SETTIME.
67577
67578 2002-02-27  Paul Eggert  <eggert@twinsun.com>
67579
67580         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
67581         Check for clock_settime.
67582
67583 2002-02-27  Paul Eggert  <eggert@twinsun.com>
67584
67585         * lib/nanosleep.h: Rename to....
67586         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
67587
67588         * lib/gettime.c: New file.
67589         * lib/settime.c: New file.
67590         * lib/stime.c: Remove.
67591
67592         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
67593         timespec.h.  Remove nanosleep.h.
67594
67595 2002-02-25  Paul Eggert  <eggert@twinsun.com>
67596
67597         * m4/acl.m4: New file.
67598         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
67599         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
67600
67601 2002-02-25  Paul Eggert  <eggert@twinsun.com>
67602
67603         * lib/acl.c, lib/acl.h: New files.
67604         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
67605
67606 2002-02-24  Jim Meyering  <meyering@lucent.com>
67607
67608         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
67609         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
67610         cause trouble.  Reported by Nelson Beebe.
67611
67612 2002-02-23  Paul Eggert  <eggert@twinsun.com>
67613
67614         * lib/path-concat.c (xpath_concat): Reorder code to pacify
67615         compilers that don't know that xalloc_die never returns.
67616
67617 2002-02-20  Jim Meyering  <meyering@lucent.com>
67618
67619         * lib/getdate.c: Regenerate using bison-1.33.
67620
67621 2002-02-17  Jim Meyering  <meyering@lucent.com>
67622
67623         * config/config.guess (main): Don't use `head -1'; it's no longer
67624         portable. Use `sed 1q' instead.
67625
67626 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
67627
67628         * m4/codeset.m4: Upgrade to gettext-0.11.
67629         * m4/gettext.m4: Upgrade to gettext-0.11.
67630         * m4/glibc21.m4: Upgrade to gettext-0.11.
67631         * m4/iconv.m4: Upgrade to gettext-0.11.
67632         * m4/isc-posix.m4: Upgrade to gettext-0.11.
67633         * m4/lcmessage.m4: Upgrade to gettext-0.11.
67634         * m4/lib-ld.m4: New file, from gettext-0.11.
67635         * m4/lib-link.m4: New file, from gettext-0.11.
67636         * m4/lib-prefix.m4: New file, from gettext-0.11.
67637         * m4/progtest.m4: Upgrade to gettext-0.11.
67638
67639 2002-02-15  Paul Eggert  <eggert@twinsun.com>
67640
67641         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
67642         (jm_PREREQ): Use it.
67643
67644 2002-02-15  Paul Eggert  <eggert@twinsun.com>
67645
67646         * lib/posixver.c, lib/posixver.h: New files.
67647         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
67648
67649 2002-02-02  Paul Eggert  <eggert@twinsun.com>
67650             Bruno Haible  <bruno@clisp.org>
67651
67652         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
67653         (fwrite_success_callback): New declaration.
67654         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
67655         print_unicode_char. Call failure callback instead of error.
67656         (fwrite_success_callback): New function.
67657         (exit_failure_callback): New function.
67658         (fallback_failure_callback): New function.
67659         (print_unicode_char): Call unicode_to_mb.
67660
67661 2002-01-26  Jim Meyering  <meyering@lucent.com>
67662
67663         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
67664         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
67665
67666 2002-01-26  Jim Meyering  <meyering@lucent.com>
67667
67668         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
67669
67670 2002-01-22  Paul Eggert  <eggert@twinsun.com>
67671
67672         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
67673
67674 2002-01-22  Jim Meyering  <meyering@lucent.com>
67675
67676         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
67677         Otherwise, some versions of automake would omit the rule that makes
67678         Makefile from Makefile.in.
67679
67680 2002-01-21  Paul Eggert  <eggert@twinsun.com>
67681
67682         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
67683         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
67684         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
67685         (memcoll): Set errno to zero if there is no error.
67686
67687         * lib/quotearg.c (quotearg_buffer_restyled):
67688         Fix bug with quoting buffers containing NUL when backslashing escapes.
67689         This bug was exposed by the other changes in this patch.
67690         (quotearg_n_options): New arg ARGSIZE.
67691         All callers changed.
67692         (quoting_options_from_style): New function.
67693         (quotearg_n_style): Use it.
67694         (quotearg_n_style_mem): New function.
67695
67696         * lib/quotearg.h (quotearg_n_style_mem): New function.
67697
67698 2002-01-19  Jim Meyering  <meyering@lucent.com>
67699
67700         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
67701         Remove useless quotes: DF_PROG="df".
67702         * m4/strnlen.m4: New file.
67703
67704 2002-01-16  Paul Eggert  <eggert@twinsun.com>
67705
67706         * lib/backupfile.c (ISDIGIT): Comment fix.
67707         * lib/getdate.y (ISDIGIT): Likewise.
67708         * lib/posixtm.c (ISDIGIT, year): Likewise.
67709         * lib/strverscmp.c (ISDIGIT): Likewise.
67710         * lib/userspec.c (ISDIGIT): Likewise.
67711
67712 2002-01-16  Jim Meyering  <meyering@lucent.com>
67713
67714         * lib/getdate.y: Add three semicolons, each just before a closing
67715         brace. Bison (as of version 1.31) no longer papers over that mistake.
67716
67717 2002-01-05  Jim Meyering  <meyering@lucent.com>
67718
67719         * lib/version-etc.c (version_etc_copyright): Update copyright year.
67720
67721 2001-12-19  Paul Eggert  <eggert@twinsun.com>
67722
67723         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
67724         not silently exit merely because the output buffer happens to
67725         have nothing pending.
67726
67727 2001-12-18  Paul Eggert  <eggert@twinsun.com>
67728
67729         See the big note in ../ChangeLog.
67730         * lib/human.c (suffixes): Prefer K to k for 1024.
67731         (generate_suffix_backwards): New function.
67732         (human_readable_inexact): Use it.
67733         * lib/xstrtol.c (__xstrtol): If there is no number but there
67734         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
67735         Accept 'K' as well as 'k'.
67736
67737 2001-12-15  Jim Meyering  <meyering@lucent.com>
67738
67739         * lib/regex.h (__restrict_arr): Update from libc.
67740
67741         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
67742         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
67743         (STREQ): Define.
67744
67745 2001-12-14  Jim Meyering  <meyering@lucent.com>
67746
67747         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
67748         Suggestion from Bruno Haible.
67749
67750 2001-12-10  Jim Meyering  <meyering@lucent.com>
67751
67752         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
67753         xrealloc, Instead, include "xalloc.h".
67754         (initbuffer): Don't cast xmalloc return value to char*.
67755         (readline): Reword comment.
67756         Don't cast xrealloc return value to char*
67757         Return NULL, not 0.
67758
67759 2001-12-09  Jim Meyering  <meyering@lucent.com>
67760
67761         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
67762         about `signed and unsigned type in conditional expression'.
67763         * lib/posixtm.c (posix_time_parse): Likewise.
67764
67765         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
67766
67767         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
67768         to avoid a pedantic warning.
67769
67770         * lib/getstr.c: Don't include assert.h.
67771         (getstr): Remove warning-evoking assertions.
67772         Return -1 if offset parameter is out of bounds.
67773         Change the type of a local from int to size_t.
67774
67775         * lib/strftime.c (my_strftime_localtime_r): Include this function
67776         definition in the `#if ! HAVE_TM_GMTOFF' block.
67777
67778         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
67779         Include xalloc.h instead.
67780
67781 2001-12-02  Jim Meyering  <meyering@lucent.com>
67782
67783         * lib/tempname.c: Don't declare getenv, thus reverting the change of
67784         2001-11-18.  It's no longer necessary, now that stdlib.h is always
67785         included.
67786
67787         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
67788         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
67789
67790 2001-11-30  Akim Demaille  <akim@epita.fr>
67791
67792         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
67793         before being defined.
67794
67795 2001-11-27  Paul Eggert  <eggert@twinsun.com>
67796
67797         * lib/quotearg.h (quotearg_n, quotearg_n_style):
67798         First arg is int, not unsigned.
67799         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
67800         (SIZE_MAX, UINT_MAX): New macros.
67801         (quotearg_n_options): Abort if N is negative.
67802         Avoid overflow check on hosts where size_t is 64 bits and int
67803         is 32 bits, as overflow is impossible there.
67804         Fix off-by-one typo that caused unnecessary reallocation.
67805
67806 2001-11-27  Jim Meyering  <meyering@lucent.com>
67807
67808         * lib/tempname.c: Merge with version from libc.
67809         * lib/regex.c: Likewise.
67810
67811         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
67812         systems for which STDC_HEADERS is 0, it was not included, resulting in
67813         a warning about an integer-to-pointer conversion problem with getenv.
67814         Reported by Volker Borchert.
67815
67816 2001-11-26  Jim Meyering  <meyering@lucent.com>
67817
67818         * lib/gtod.h: Remove file.
67819         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
67820         * lib/gettimeofday.c: Don't include gtod.h.
67821         (GTOD_init): Remove function.
67822         (rpl_gettimeofday): Do its job here instead, rather than aborting.
67823         Suggestion from Volker Borchert.
67824
67825 2001-11-23  Jim Meyering  <meyering@lucent.com>
67826
67827         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
67828         it.
67829         * lib/hash.c (struct hash_table): Define it here instead.
67830
67831 2001-11-22  Jim Meyering  <meyering@lucent.com>
67832
67833         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
67834
67835 2001-11-20  Jim Meyering  <meyering@lucent.com>
67836
67837         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
67838         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
67839
67840 2001-11-19  Jim Meyering  <meyering@lucent.com>
67841
67842         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
67843         directory.  Use "conftestXXXXXX" as the template.
67844         Suggestion from Paul Eggert.
67845
67846         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
67847         immediately, so the test doesn't mistakenly hit the max-open-files
67848         limit.
67849
67850 2001-11-18  Paul Eggert  <eggert@twinsun.com>
67851
67852         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
67853         (TEMPORARIES): New macro.
67854         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
67855         removes an artificial limitation (e.g. HP-UX 10.20, where
67856         TMP_MAX is 17576).
67857
67858 2001-11-18  Jim Meyering  <meyering@lucent.com>
67859
67860         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
67861
67862 2001-11-18  Jim Meyering  <meyering@lucent.com>
67863
67864         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
67865         on SunOS 4.
67866
67867         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
67868         files will be created before anything else.
67869
67870 2001-11-17  Paul Eggert  <eggert@twinsun.com>
67871
67872         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
67873         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
67874
67875 2001-11-17  Jim Meyering  <meyering@lucent.com>
67876
67877         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
67878         Prompted by a report from Bob Proulx.
67879
67880         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
67881         Instead, require UTILS_FUNC_MKSTEMP.
67882
67883 2001-11-17  Jim Meyering  <meyering@lucent.com>
67884
67885         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
67886         Now, that's done as part of AC_FUNC_STRTOD.
67887
67888 2001-11-17  Jim Meyering  <meyering@lucent.com>
67889
67890         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
67891         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
67892         rather than group writable.  Patch by Juan F. Codagnone.
67893
67894         * lib/readtokens.c: Remove explicit declarations of xmalloc and
67895         xrealloc, Instead, include "xalloc.h".
67896
67897         * lib/mountlist.c: Include unlocked-io.h after all system headers.
67898         Remove explicit declarations of xmalloc, xrealloc,
67899         and xstrdup.  Instead, include "xalloc.h".
67900
67901         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
67902         unlocked-io.h.
67903         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
67904         Likewise.
67905         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
67906
67907         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
67908         Reported by Padraig Brady.
67909
67910         * lib/mkstemp.c: #undef mkstemp.
67911         Include config.h.
67912         (rpl_mkstemp): Rename from mkstemp.
67913         Protoize.
67914
67915 2001-11-16  Jim Meyering  <meyering@lucent.com>
67916
67917         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
67918         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
67919         determine the amount of total physical memory, use pstat_getstatic.
67920         HPUX-11 doesn't define _SC_PHYS_PAGES.
67921         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
67922         If sysconf couldn't be used to determine the amount of available
67923         physical memory, use both pstat_getstatic and pstat_getdynamic.
67924         Based on a patch from Bob Proulx.
67925
67926 2001-11-10  Jim Meyering  <meyering@lucent.com>
67927
67928         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
67929         (jm_PREREQ): Use it.
67930
67931 2001-11-09  Jim Meyering  <meyering@lucent.com>
67932
67933         * m4/jm-macros.m4: Require autoconf-2.52f.
67934         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
67935         Use these AC_-prefixed names, not the AM_-prefixed ones.
67936
67937         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
67938
67939 2001-11-05  Jim Meyering  <meyering@lucent.com>
67940
67941         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
67942
67943 2001-11-04  Jim Meyering  <meyering@lucent.com>
67944
67945         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
67946         $DEFS.
67947
67948 2001-11-03  Jim Meyering  <meyering@lucent.com>
67949
67950         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
67951         of AC_DEFUN.
67952
67953         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
67954         know the name of the variable in the macro definition.
67955
67956 2001-11-03  Jim Meyering  <meyering@lucent.com>
67957
67958         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
67959         in argmatch_to_argument call.
67960
67961         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
67962         argument.
67963
67964         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
67965         e.g., a fault due to an attempt to free a NULL pointer.
67966
67967 2001-11-01  Jim Meyering  <meyering@lucent.com>
67968
67969         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
67970         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
67971
67972 2001-11-01  Jim Meyering  <meyering@lucent.com>
67973
67974         * lib/dirfd.c, lib/dirfd.h: New files.
67975         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
67976
67977         * lib/hash.c (hash_print) [TESTING]: Clean up.
67978
67979 2001-10-22  Paul Eggert  <eggert@twinsun.com>
67980
67981         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
67982         to avoid a warning if -Wall.
67983
67984 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
67985
67986         * README: New file
67987         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
67988         (per RMS's instructions, this is now the canonical source)
67989         * lgpl/, gpl/: New directories.
67990
67991 2001-10-21  Paul Eggert  <eggert@twinsun.com>
67992
67993         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
67994
67995 2001-10-21  Jim Meyering  <meyering@lucent.com>
67996
67997         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
67998         this code would end up calling gettext even in packages built
67999         with --disable-nls.
68000         * lib/getopt.c (_): Likewise.
68001         * lib/regex.c (_): Likewise.
68002
68003 2001-10-20  Paul Eggert  <eggert@twinsun.com>
68004
68005         * m4/error.m4 (jm_PREREQ_ERROR):
68006         Do not invoke AC_CHECK_FUNCS with strerror_r, as
68007         AC_FUNC_STRERROR_R does that.
68008         Check for strerror declaration.
68009
68010         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
68011         are supposed to have them these days.
68012         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
68013         Merge changes from latest Autoconf CVS.
68014         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
68015         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
68016         POSIX decided to standardize on the int flavor of strerror_r.
68017
68018 2001-10-20  Paul Eggert  <eggert@twinsun.com>
68019
68020         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
68021         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
68022         Use strerror_r that is only a macro, even if it is not a function.
68023         (strerror): Check for HAVE_DECL_STRERROR before declaring.
68024         (private_strerror): Use prototypes, not old-style function definition.
68025         (print_errno_message): New function.
68026         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
68027         char*-flavored one.
68028         (error_tail, error, error_at_line): Use it.
68029
68030 2001-10-11  Jim Meyering  <meyering@lucent.com>
68031
68032         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
68033         and quote_n (1, ... to avoid clobbering a buffer.
68034
68035 2001-10-05  Jim Meyering  <meyering@lucent.com>
68036
68037         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
68038         hash-pjw.h.
68039         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
68040         * lib/hash-pjw.h: New file.
68041
68042 2001-09-30  Jim Meyering  <meyering@lucent.com>
68043
68044         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
68045         `struct fsstat' has the `f_fstypename' member.
68046         Use that to define FS_TYPE, which is now used to make
68047         the getfsstat link test tighter.
68048
68049 2001-09-30  Jim Meyering  <meyering@lucent.com>
68050
68051         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
68052         Include <sys/ucred.h>, for Apple Darwin.
68053         Include sys/mount.h and sys/fs_types.h only if available.
68054         (FS_TYPE): Define.
68055         (read_filesystem_list): Use FS_TYPE.
68056
68057 2001-09-29  Paul Eggert  <eggert@twinsun.com>
68058
68059         * lib/exclude.c (excluded_filename): 0 -> false, since it's
68060         a boolean context.
68061
68062 2001-09-29  Jim Meyering  <meyering@lucent.com>
68063
68064         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
68065         [one-argument getmntent function]): Include stdio.h before mntent.h.
68066         SunOS 4.1.x needs it for the declaration of `FILE'.
68067         Patch by Volker Borchert.
68068
68069         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
68070         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
68071         sys/fs_types.h, and make the link-test for getfsstat guard #include
68072         directives with appropriate #if HAVE_*_H tests so that we can
68073         detect getfsstat on Apple Darwin1.3.7 systems.
68074         Reported by Nelson Beebe.
68075         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
68076
68077 2001-09-28  Paul Eggert  <eggert@twinsun.com>
68078
68079         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
68080         #defines strtoimax.  Also treat the other strto* functions
68081         like strtoimax.
68082
68083         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
68084         Check for strtoul and strtoumax,
68085         as those declarations are made even in the signed case.
68086         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
68087         Likewise, for strtol and strtoimax.
68088
68089 2001-09-28  Paul Eggert  <eggert@twinsun.com>
68090
68091         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
68092         #defines strtoimax.  Also treat the other strto* functions
68093         like strtoimax.
68094
68095         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
68096         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
68097         (strtoimax, strtoumax): Do not declare if already defined as a macro.
68098
68099 2001-09-26  Jim Meyering  <meyering@lucent.com>
68100
68101         Most macros in unlocked-io.h had the wrong number of arguments.
68102         * lib/gen-uio: New script.
68103         (USE_UNLOCKED_IO): Define to 1 if not already defined.
68104         * lib/unlocked-io.hin: Remove file.
68105         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
68106         rather than trying to embed it here.
68107         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
68108         Reported by Padraig Brady.
68109
68110 2001-09-25  Volker Borchert  <bt@teknon.de>
68111
68112         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
68113         `result'.
68114
68115 2001-09-24  Jim Meyering  <meyering@lucent.com>
68116
68117         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
68118
68119 2001-09-23  Jim Meyering  <meyering@lucent.com>
68120
68121         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
68122         instead of the mere test for existence of mntent.h.  The latter
68123         would get a false-positive on AIX 3.4 systems.
68124         In the outer getmntent if-block, don't die if neither of the getmntent
68125         tests succeeds.  Instead, just fall through and continue with the
68126         remaining tests.
68127
68128 2001-09-23  Jim Meyering  <meyering@lucent.com>
68129
68130         * lib/mountlist.c: Remove useless parentheses in #if directives.
68131         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
68132         the deprecated MOUNTED symbol is no longer defined in mntent.h.
68133
68134 2001-09-22  Jim Meyering  <meyering@lucent.com>
68135
68136         * m4/gettext.m4: New file.  From gettext.
68137         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
68138         * m4/progtest.m4: Likewise
68139         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
68140         * m4/glibc21.m4: Likewise.
68141
68142         * m4/libintl.m4: Remove.  No longer used.
68143
68144 2001-09-22  Jim Meyering  <meyering@lucent.com>
68145
68146         * lib/localcharset.c: Update from latest gettext.
68147         * lib/config.charset: Likewise.
68148
68149 2001-09-20  Jim Meyering  <meyering@lucent.com>
68150
68151         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
68152         strtoimax.
68153         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
68154         strtoumax.
68155
68156 2001-09-20  Jim Meyering  <meyering@lucent.com>
68157
68158         * lib/xstrtol.c (strtoimax): Guard declaration with
68159         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
68160         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
68161         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
68162         (strtoumax): Likewise, for completeness (it wasn't necessary).
68163
68164 2001-09-17  Paul Eggert  <eggert@twinsun.com>
68165
68166         * lib/strtoimax.c (HAVE_LONG_LONG):
68167         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
68168         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
68169         to work around bug in IBM C compiler.
68170
68171 2001-09-17  Jim Meyering  <meyering@lucent.com>
68172
68173         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
68174         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
68175         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
68176         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
68177         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
68178         whenever the right hand side need not be expanded by the shell.
68179
68180 2001-09-16  Paul Eggert  <eggert@twinsun.com>
68181
68182         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
68183         library.  It's not correct, as some older glibcs are buggy.
68184         fnmatch wasn't fixed until glibc 2.2.
68185
68186         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
68187         special shell magic here.
68188
68189 2001-09-16  Jim Meyering  <meyering@lucent.com>
68190
68191         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
68192         * m4/jm-macros.m4: Require it.
68193
68194 2001-09-16  Jim Meyering  <meyering@lucent.com>
68195
68196         * lib/mkdir.c: New file.
68197
68198 2001-09-15  Jim Meyering  <meyering@lucent.com>
68199
68200         * m4/jm-macros.m4: Check for help2man.
68201
68202 2001-09-11  Jim Meyering  <meyering@lucent.com>
68203
68204         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
68205         The body, by Paul Eggert, was moved here from configure.in.
68206         * m4/jm-macros.m4: Require UTILS_HOST_OS.
68207
68208 2001-09-04  Paul Eggert  <eggert@twinsun.com>
68209
68210         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
68211         (jm_PREREQ): Use it.
68212
68213 2001-09-04  Paul Eggert  <eggert@twinsun.com>
68214
68215         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
68216         Use ssize_t, not int, to store result of readlink.
68217         Check for ssize_t overflow as well as size_t overflow,
68218         as POSIX says the result of readlink is implementation-defined
68219         when ssize_t overflows.
68220         Remove unnecessary cast to char*.
68221         Use free+malloc instead of realloc, as the storage doesn't need
68222         to be preserved and it's clearer and can be more efficient that way.
68223         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
68224         * lib/xreadlink.h (xreadlink): Update prototype.
68225
68226 2001-09-04  Paul Eggert  <eggert@twinsun.com>
68227
68228         * lib/xgetcwd.c: Revert some of the previous change; intead,
68229         fix the HAVE_GETCWD_NULL code to behave more like the
68230         !HAVE_GETCWD_NULL code used to.
68231
68232         Include "xalloc.h".
68233         (xgetcwd): Do not return NULL when memory is exhausted; instead,
68234         invoke xalloc_die.
68235
68236 2001-09-03  Paul Eggert  <eggert@twinsun.com>
68237
68238         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
68239         sys/param.h, as pathmax.h includes them.
68240
68241 2001-09-03  Paul Eggert  <eggert@twinsun.com>
68242
68243         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
68244         (jm_PREREQ_XGETCWD): New macro.
68245
68246         * m4/getcwd.m4: New file.
68247
68248 2001-09-03  Paul Eggert  <eggert@twinsun.com>
68249
68250         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
68251         like the HAVE_GETCWD_NULL code.
68252         Include pathmax.h if not HAVE_GETCWD.
68253         Do not include xalloc.h.
68254         (INITIAL_BUFFER_SIZE): New symbol.
68255         Do not use xmalloc / xrealloc, since the caller is responsible for
68256         handling errors.  Preserve errno around `free' during failure.
68257         Do not overrun buffer when using getwd.
68258
68259 2001-09-03  Paul Eggert  <eggert@twinsun.com>
68260
68261         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
68262         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
68263         getcwd (NULL, 0).
68264
68265 2001-09-03  Paul Eggert  <eggert@twinsun.com>
68266
68267         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
68268         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
68269         spotted by Jim Meyering.
68270
68271 2001-09-03  Jim Meyering  <meyering@lucent.com>
68272
68273         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
68274         failure.
68275
68276 2001-09-02  Jim Meyering  <meyering@lucent.com>
68277
68278         * lib/error.c: Update from GNU libc.
68279
68280 2001-09-01  Jim Meyering  <meyering@lucent.com>
68281
68282         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
68283         Used by df.
68284
68285 2001-09-01  Jim Meyering  <meyering@lucent.com>
68286
68287         * lib/xreadlink.c: New file.
68288         * lib/xreadlink.h: New file.
68289         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
68290         xreadlink.h.
68291
68292         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
68293         doesn't conflict with sparc Solaris 7's definition in
68294         /usr/include/sys/int_types.h.
68295
68296         * lib/exclude.c: Use `""', not `<>' to #include non-system header
68297         files.
68298         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
68299         and strncasecmp as r-values.  Unixware didn't have declarations.
68300
68301 2001-08-31  Paul Eggert  <eggert@twinsun.com>
68302
68303         * lib/xstrtol.h: Add copyright notice.
68304         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
68305         LONGINT_INVALID_SUFFIX_CHAR.
68306
68307 2001-08-31  Paul Eggert  <eggert@twinsun.com>
68308
68309         * lib/xstrtol.c (strtoimax): New decl.
68310
68311 2001-08-31  Paul Eggert  <eggert@twinsun.com>
68312
68313         * lib/xgetcwd.c: Don't include pathmax.h.
68314         Include stdlib.h and unistd.h if available.
68315         Include xalloc.h.
68316         (xmalloc, xstrdup, free): Remove decls.
68317         (xgetcwd): Don't assume sizes fit in unsigned.
68318         Check for overflow when computing sizes.
68319         Simplify reallocation code.
68320
68321 2001-08-31  Paul Eggert  <eggert@twinsun.com>
68322
68323         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
68324         a directory's st_size can have an arbitrary value, so the old
68325         usage could waste an arbitrary amount of memory.  All uses
68326         changed.
68327         * lib/savedir.h: Update prototype.
68328
68329 2001-08-31  Paul Eggert  <eggert@twinsun.com>
68330
68331         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
68332
68333         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
68334         old strtoimax.c.
68335
68336         Also, make the following further changes to make this file's
68337         configuration more similar to that of strtol.c:
68338         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
68339         (strtoumax, uintmax_t, strtoull, strtol): Remove.
68340         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
68341         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
68342         changed to signed values.
68343
68344         And make the following changes as well:
68345         Fix copyright notice, as 1999 was missing.
68346         (verify): New macro.
68347         (strtoimax): Check sizes at compile-time, not run-time.
68348         Prefer strtol to strtoll if both work.
68349         (main): Remove; it was not that useful and was a pain to maintain.
68350
68351         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
68352
68353 2001-08-31  Jim Meyering  <meyering@lucent.com>
68354
68355         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
68356         Use an initial, malloc'd, buffer of length 128 rather than
68357         a statically allocated one of length 1024.
68358
68359 2001-08-30  Paul Eggert  <eggert@twinsun.com>
68360
68361         Simplify code, partly by assuming autoconf 2.52 semantics.
68362
68363         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
68364
68365         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
68366         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
68367         All uses removed.
68368         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
68369         Move AC_REQUIRE to next-to-top level, to avoid confusion.
68370         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
68371         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
68372         jm_AC_HEADER_INTTYPES_H.
68373         * m4/jm-macros.m4 (jm_MACROS): Likewise.
68374
68375         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
68376
68377         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
68378         Quote first arg of AC_DEFUN.
68379         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
68380         since they are needed to parse the include file even if we need
68381         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
68382         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
68383         but with opposite signedness.
68384
68385 2001-08-30  Paul Eggert  <eggert@twinsun.com>
68386
68387         Merge 'exclude' changes from tar 1.13.22.
68388         This fixes one or two unlikely storage allocation overflow bugs,
68389         but doesn't change user-visible behavior otherwise.
68390
68391 2001-08-30  Paul Eggert  <eggert@twinsun.com>
68392
68393         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
68394         (jm_PREREQ_EXCLUDE): New macro.
68395
68396 2001-08-30  Paul Eggert  <eggert@twinsun.com>
68397
68398         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
68399         tm to be declared.
68400
68401 2001-08-30  Paul Eggert  <eggert@twinsun.com>
68402
68403         * lib/hash.c: Remove '2001' from copyright notice.
68404
68405 2001-08-30  Paul Eggert  <eggert@twinsun.com>
68406
68407         * lib/full-write.h: New file.
68408         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
68409         * lib/full-write.c: Correct credits, as cccp.c no longer
68410         exists and anyway it was so heavily changed from the old cccp
68411         code as to be unrecognizable.  Include full-write.h.
68412         (full_write) Return size_t, with short writes meaning failure.
68413         All callers changed.  This fixes a bug with large buffers
68414         on 64-bit hosts.
68415         * lib/utime.c: Include full-write.h.
68416
68417 2001-08-30  Paul Eggert  <eggert@twinsun.com>
68418
68419         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
68420         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
68421         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
68422         Include if available.
68423         (<xalloc.h>): Include
68424         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
68425         (verify): New macro.  Use it to verify that EXCLUDE macros do not
68426         collide with FNM macros.
68427         (struct patopts): New struct.
68428         (struct exclude): Use it, as exclude patterns now come with options.
68429         (new_exclude): Support above changes.
68430         (new_exclude, add_exclude_file):
68431         Initial size must now be a power of two to simplify overflow checking.
68432         (free_exclude, fnmatch_no_wildcards): New function.
68433         (excluded_filename): No longer requires options arg, as the options
68434         are determined by add_exclude.  Now returns bool, not int.
68435         (excluded_filename, add_exclude):
68436         Add support for the fancy new exclusion options.
68437         (add_exclude, add_exclude_file): Now takes int options arg.
68438         Check for arithmetic overflow when computing sizes.
68439         (add_exclude_file): xrealloc might modify errno, so don't
68440         realloc until after errno might be used.
68441
68442         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
68443         New macros.
68444         (free_exclude): New decl.
68445         (add_exclude, add_exclude_file): Now takes int options arg.
68446         (excluded_filename): No longer requires options arg, as the options
68447         are determined by add_exclude.  Now returns bool, not int.
68448
68449 2001-08-30  Paul Eggert  <eggert@twinsun.com>
68450
68451         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
68452
68453 2001-08-27  Jim Meyering  <meyering@lucent.com>
68454
68455         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
68456
68457         * lib/version-etc.c (N_): Remove definition.
68458         Revert most of last change.
68459         Instead, simply don't mark the `Copyright...' string for translation.
68460         Based on advice from Paul Eggert.
68461
68462         * lib/strtoxmax.c: Tweak comment.
68463
68464 2001-08-26  Jim Meyering  <meyering@lucent.com>
68465
68466         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
68467
68468         * m4/xstrtoimax.m4: New file.
68469         * m4/xstrtoumax.m4: Add comments explaining why we
68470         AC_REPLACE_FUNCS(strtol).
68471
68472 2001-08-26  Jim Meyering  <meyering@lucent.com>
68473
68474         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
68475         of copyright with `%s' so translators don't get an untranslated
68476         message in 2002.
68477         (COPYRIGHT_YEAR): Define.
68478         (version_etc): Use fprintf rather than fputs.
68479         Suggestion from Ulrich Drepper.
68480
68481         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
68482
68483         * lib/strtoll.c: New file, from GNU libc.
68484         * lib/xstrtoimax.c: New file.
68485
68486         * lib/xstrtol.h: Add xstrtoimax.
68487         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
68488         * lib/strtoimax.c: New file.  Likewise, but first define
68489         STRTOUXMAX_SIGNED.
68490
68491         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
68492         ...
68493         * lib/strtoxmax.c: ... then renamed to this.
68494
68495 2001-08-18  Paul Eggert  <eggert@twinsun.com>
68496
68497         * m4/inttypes.m4: Add AC_PREREQ(2.13).
68498         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
68499         (jm_AC_TYPE_INTMAX_T): New macro.
68500         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
68501
68502         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
68503
68504         * m4/longlong.m4: Renamed from ulonglong.m4.
68505         * m4/inttypes.m4: Renamed from inttypes_h.m4.
68506         * m4/uintmax_t.m4: Removed.
68507
68508 2001-08-13  Paul Eggert  <eggert@twinsun.com>
68509
68510         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
68511         Port to Solaris 8, where 'sed' requires a space after the 'r'
68512         command, and where sh dislikes "$/".  Clean up the spacing a bit.
68513         Redirect output to $tmp just once.
68514
68515 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
68516
68517         * lib/addext.c (<errno.h>): Include.
68518         (errno): Declare if not defined.
68519         (addext): Work correctly when pathconf returns -1 and leaves
68520         errno alone because there is no limit.  Also, work even if
68521         pathconf returns a value greater than SIZE_MAX.
68522
68523 2001-08-12  Jim Meyering  <meyering@lucent.com>
68524
68525         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
68526         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
68527         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
68528         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
68529         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
68530         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
68531         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
68532         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
68533         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
68534         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
68535         utime.m4, utimes.m4, xstrtoumax.m4:
68536         Quote the first argument in each use of AC_DEFUN.
68537
68538 2001-08-12  Jim Meyering  <meyering@lucent.com>
68539
68540         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
68541         Simply `return getcwd (NULL, 0);'.
68542         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
68543         Use 1300 as initial value for length, not PATH_MAX.
68544
68545         * lib/pathmax.h: Clean up cpp syntax.
68546
68547 2001-08-12  Jim Meyering  <meyering@lucent.com>
68548
68549         * lib/gettimeofday.c: New file.
68550         * lib/gtod.h: New file.
68551         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
68552
68553 2001-08-05  Jim Meyering  <meyering@lucent.com>
68554
68555         * m4/jm-macros.m4: Require autoconf-2.52.
68556
68557 2001-08-04  Jim Meyering  <meyering@lucent.com>
68558
68559         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
68560         stmt, to get in sync with glibc.
68561
68562 2001-08-03  Paul Eggert  <eggert@twinsun.com>
68563
68564         The following changes are from gettext 0.10.39 as maintained by
68565         Bruno Haible.
68566
68567         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
68568         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
68569         with inverted sense.  All uses changed.
68570
68571         * lib/mbswidth.c: Don't include <limits.h>.
68572         Include <stdlib.h> and <string.h> unconditionally.
68573         (iswcntrl, mbsinit, ISCNTRL): New macros.
68574         (mbsnwidth): Use K&R style function declarations.
68575         Don't bother checking for MB_LEN_MAX == 1, since the compiler
68576         can optimize it when MB_CUR_MAX == 1.
68577         The width of control characters is zero, not 1.
68578
68579 2001-08-03  Paul Eggert  <eggert@twinsun.com>
68580
68581         The following changes are from gettext 0.10.39 as maintained by
68582         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
68583
68584         * m4/codeset.m4: Upgrade to serial AM1.
68585         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
68586         all uses changed.  Quote first arg of AC_DEFUN.
68587         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
68588
68589         * m4/iconv.m4: Upgrade to serial AM2.
68590         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
68591         Add --with-libconv-prefix.
68592         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
68593         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
68594         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
68595         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
68596         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
68597
68598         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
68599         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
68600         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
68601         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
68602         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
68603         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
68604         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
68605         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
68606         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
68607
68608         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
68609         string.h any more.
68610
68611         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
68612         not the default value.
68613
68614         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
68615         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
68616         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
68617         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
68618         Also check for iswcntrl, used for wcwidth fallback.
68619         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
68620         to Autoconf 2.13.
68621
68622 2001-08-03  Jim Meyering  <meyering@lucent.com>
68623
68624         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
68625         as it was in the original.  Reported by Paul Eggert.
68626
68627 2001-07-16  Jim Meyering  <meyering@lucent.com>
68628
68629         * m4/gettimeofday.m4: New file.
68630         Prompted by a report from Bernhard Baehr.
68631
68632 2001-07-15  Jim Meyering  <meyering@lucent.com>
68633
68634         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
68635         stuff. Now it's in ../Makefile.cfg.
68636
68637 2001-07-15  Jim Meyering  <meyering@lucent.com>
68638
68639         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
68640         (BUILT_SOURCES): Add unlocked-io.h.
68641         (io_functions): Define.
68642         (unlocked-io.h): New rule.
68643         (DISTCLEANFILES): Add unlocked-io.h.
68644         (all-local): Depend on unlocked-io.h, to ensure it is created.
68645
68646         * lib/unlocked-io.hin: New file
68647
68648         * lib/regex.c: Update from glibc.
68649
68650 2001-07-05  Jim Meyering  <meyering@lucent.com>
68651
68652         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
68653         recommendation.
68654         (libfetish_a_SOURCES): Put all .h files here instead.
68655         Remove a thus-exposed (better checks in automake) duplicate and
68656         two unnecessary .h files.
68657
68658 2001-07-04  Jim Meyering  <meyering@lucent.com>
68659
68660         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
68661         that generates jm-glibc-io.m4 so that it doesn't trigger any make
68662         distcheck failure.
68663
68664 2001-07-02  Jim Meyering  <meyering@lucent.com>
68665
68666         The following changes were prompted by suggestions from Bruno Haible.
68667
68668         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
68669         is now generated.
68670         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
68671         definition of EXTRA_DIST.
68672         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
68673         ensure that the generated file is created/updated whenever the list
68674         of $(unlocked_functions) is changed.
68675         (jm-glibc-io.m4): New rule.
68676         (unlocked-io.h): New rule -- currently unused.
68677
68678 2001-06-24  Jim Meyering  <meyering@lucent.com>
68679
68680         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
68681         unmatched right bracket, rather than kludging it with an extra,
68682         falsely-matching quote in a comment.  Patch by Akim Demaille.
68683
68684 2001-06-11  Jim Meyering  <meyering@lucent.com>
68685
68686         * lib/regex.c: Update from GNU libc.
68687
68688 2001-05-27  Jim Meyering  <meyering@lucent.com>
68689
68690         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
68691         Check for ut_type in struct utmp.
68692
68693 2001-05-27  Jim Meyering  <meyering@lucent.com>
68694
68695         * lib/readutmp.h (UT_TYPE): Define.
68696
68697 2001-05-24  Jim Meyering  <meyering@lucent.com>
68698
68699         * lib/argmatch.c: Include "quote.h".
68700         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
68701         quote function.  Reported by Göran Uddeborg.
68702
68703 2001-05-22  Jim Meyering  <meyering@lucent.com>
68704
68705         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
68706         now that we use the package-supplied version unconditionally.
68707         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
68708
68709 2001-05-21  Jim Meyering  <meyering@lucent.com>
68710
68711         * m4/regex.m4: Change a couple backticks to single quotes to avoid
68712         shell syntax errors.
68713
68714 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
68715
68716         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
68717
68718 2001-05-20  Paul Eggert  <eggert@twinsun.com>
68719
68720         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
68721         Don't bother to check library strftime, since
68722         we'll be using our own my_strftime function anyway.
68723         Define my_strftime instead of strftime.
68724
68725 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
68726
68727         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
68728         which is not yet declared.
68729
68730 2001-05-15  Jim Meyering  <meyering@lucent.com>
68731
68732         * m4/regex.m4: Use proper quoting so brackets appear in the test
68733         program.
68734         Reported by, and with help from, Bruno Haible.
68735
68736 2001-05-13  Jim Meyering  <meyering@lucent.com>
68737
68738         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
68739         undefined.
68740
68741 2001-05-11  Paul Eggert  <eggert@twinsun.com>
68742
68743         dirname code cleanup.  base_name now behaves more compatibly
68744         with POSIX basename when given file names that have trailing
68745         slashes, and similarly for dir_name.  Add new primitives
68746         base_len and dir_len.  Put the directory-name-related decls
68747         into dirname.h.
68748
68749         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
68750         * lib/backupfile.c (base_name): Likewise.
68751         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
68752         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
68753         * lib/makepath.c (strip_trailing_slashes): Likewise.
68754         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
68755         ISSLASH): Likewise.
68756         * lib/rename.c (strip_trailing_slashes): Likewise.
68757         * lib/same.c (base_name): Likewise.
68758         * lib/stripslash.c (ISSLASH): Likewise.
68759
68760         * lib/addext.c: Include <dirname.h> after size_t is defined.
68761         * lib/backupfile.c: Likewise.
68762
68763         * lib/addext.c (addext): Use base_len to trim redundant
68764         trailing slashes instead of doing it ourselves.
68765         But do not trim the last slash if it is not redundant.
68766
68767         * lib/backupfile.c (find_backup_file_name,
68768         max_backup_version): Use base_len instead of rolling it ourselves.
68769         Handle the case of "" and (on DOS) "C:" correctly.
68770
68771         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
68772         needed. Include <string.h>, <dirname.h>.
68773         (base_name): Allow file names ending in slashes, other than names
68774         that are all slashes.  In this case, return the basename followed
68775         by the slashes.  This is more general, and can be used in places
68776         where the original base_name purposely had an assertion failure.
68777         (base_len): New function.
68778
68779         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
68780         Do not include <assert.h>; no longer needed.
68781         Include xalloc.h.
68782         (memrchr): Remove decl.
68783         (dir_name_r): Remove.
68784         (dir_len): Renamed from dirlen.  All callers changed.
68785         Rewrite in terms of base_name, for simplicity and consistency.
68786         (dir_name): Never return NULL.  All callers changed.
68787         Do not include <stdlib.h> in test program; no longer needed.
68788         return 0; is fine for test program.
68789
68790         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
68791         New macros.
68792         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
68793
68794         * lib/path-concat.c (path_concat): Use base_len to compute
68795         base length, not strlen; this means we cannot rely on memcpy
68796         to null-terminate.
68797
68798         * lib/same.c (STREQ): Remove.
68799         (same_name): Handle the case where the basename ends in trailing '/'.
68800
68801         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
68802         a slash was stripped.  Do not strip the last slash after a
68803         file system prefix.
68804
68805 2001-05-11  Paul Eggert  <eggert@twinsun.com>
68806
68807         * lib/Makefile.am (libfetish_a_SOURCES):
68808         Add strftime.c, since we now compile it on all hosts.
68809
68810         * lib/strftime.c (my_strftime):
68811         Define to nstrftime if emacs, but only if my_strftime is not defined.
68812         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
68813         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
68814         Add one more extra argument: a nanoseconds value.
68815         All uses changed.
68816         (ns): New macro.
68817         (my_strftime function): Add %N format.
68818         (emacs_strftimeu): Renamed from emacs_strftime,
68819         with extra ut argument.
68820
68821 2001-05-09  Paul Eggert  <eggert@twinsun.com>
68822
68823         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
68824
68825 2001-04-21  Jim Meyering  <meyering@lucent.com>
68826
68827         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
68828         doesn't interfere.
68829
68830 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
68831
68832         * m4/ftruncate.m4: Check for chsize.
68833         Link with ftruncate.o unconditionally if ftruncate is missing.
68834         This was required when cross-compiling to i586-mingw32msvc.
68835
68836 2001-04-08  Jim Meyering  <meyering@lucent.com>
68837
68838         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
68839         recomputed; that's necessary when the offset spans a DST transition.
68840         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
68841
68842 2001-04-02  Jim Meyering  <meyering@lucent.com>
68843
68844         * lib/regex.h, regex.c: Update from GNU libc.
68845
68846 2001-03-24  Jim Meyering  <meyering@lucent.com>
68847
68848         * m4/jm-macros.m4: Require autoconf-2.49d.
68849
68850 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
68851
68852         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
68853
68854 2001-03-19  Paul Eggert  <eggert@twinsun.com>
68855
68856         * lib/version-etc.c (version_etc_copyright): Update to 2001.
68857
68858 2001-03-17  Jim Meyering  <meyering@lucent.com>
68859
68860         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
68861         now that the version in autoconf is equivalent.
68862         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
68863
68864         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
68865         Suggestion from Akim Demaille.
68866
68867         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
68868         (jm_PREREQ_TEMPNAME): New function.
68869
68870 2001-03-16  Paul Eggert  <eggert@twinsun.com>
68871
68872         * lib/tempname.c (uint64_t): Define to uintmax_t if
68873         not defined, and if UINT64_MAX is not defined.
68874         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
68875         Reported by John David Anglin.
68876
68877 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
68878
68879         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
68880         resolve alias if codeset is empty.
68881         * lib/config.charset (BeOS): Use wildcard syntax.
68882
68883 2001-03-13  Jim Meyering  <meyering@lucent.com>
68884
68885         * lib/path-concat.c (path_concat)
68886         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
68887         concatenating e.g., `C:' and `foo'.
68888         From Bruno Haible.
68889
68890 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
68891
68892         * lib/localcharset.c (locale_charset): Don't use
68893         setlocale(LC_CTYPE,NULL). Don't return NULL.
68894         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
68895
68896 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
68897
68898         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
68899         support for DOS/DJGPP.
68900
68901 2001-03-01  Paul Eggert  <eggert@twinsun.com>
68902
68903         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
68904         lacks mkstemp.  Compile our own tempname.c if we compile our own
68905         mkstemp.c, as mkstemp relies on tempname.
68906
68907 2001-03-01  Jim Meyering  <meyering@lucent.com>
68908
68909         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
68910         AH_VERBATIM really does output its argument verbatim.
68911
68912 2001-02-28  Paul Eggert  <eggert@twinsun.com>
68913
68914         * lib/Makefile.am (libfetish_a_SOURCES):
68915         Add dup-safer.c, fopen-safer.c.
68916         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
68917
68918         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
68919         * lib/unistd-safer.h: New files.
68920
68921 2001-02-25  Paul Eggert  <eggert@twinsun.com>
68922
68923         The mkstemp replacement is taken from glibc 2.2.2, with some
68924         portability fixes for use outside glibc, as follows:
68925
68926         * lib/tempname.c (struct_stat64): New macro.
68927         (direxists, __gen_tempname): Use it.
68928         This avoids a portability problem with Solaris 8.
68929
68930         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
68931         (<stddef.h>, <stdint.h>, <string.h>):
68932         Include only if STDC_HEADERS || _LIBC.
68933         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
68934         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
68935         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
68936         (__set_errno): Define this macro if <errno.h> doesn't.
68937         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
68938         Define these macros if <stdio.h> doesn't.
68939         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
68940         Define these macros if <sys/stat.h>
68941         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
68942         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
68943         __xstat64): Define if not _LIBC.
68944         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
68945         (__gen_tempname): Invoke gettimeofday only if
68946         HAVE_GETTIMEOFDAY || _LIBC;
68947         otherwise, fall back on plain "time".
68948         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
68949
68950         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
68951
68952         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
68953
68954 2001-02-18  Paul Eggert  <eggert@twinsun.com>
68955
68956         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
68957
68958 2001-02-17  Paul Eggert  <eggert@twinsun.com>
68959
68960         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
68961         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
68962         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
68963         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
68964
68965 2001-02-17  Paul Eggert  <eggert@twinsun.com>
68966
68967         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
68968         Remove workaround macros for hosts that have mbrtowc but not
68969         mbstate_t, as we now insist on proper declarations for both
68970         before using mbrtowc.
68971
68972 2001-02-17  Jim Meyering  <meyering@lucent.com>
68973
68974         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
68975         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
68976         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
68977         UnixWare 7.1.1.
68978
68979         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
68980         rather than AC_CACHE_VAL.
68981
68982 2001-02-17  Jim Meyering  <meyering@lucent.com>
68983
68984         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
68985         around included file name.
68986
68987         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
68988
68989         * lib/strftime.c: Update from GNU libc (the only changes were to
68990         comments).
68991
68992 2001-02-17  Jim Meyering  <meyering@lucent.com>
68993
68994         * lib/regex.c: Update from libc.
68995
68996 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
68997
68998         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
68999         clash.
69000
69001 2001-02-16  Paul Eggert  <eggert@twinsun.com>
69002
69003         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
69004         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
69005         Reported by Mark Hounschell via Paul Eggert.
69006
69007 2001-02-07  Jim Meyering  <meyering@lucent.com>
69008
69009         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
69010
69011 2001-02-05  Jim Meyering  <meyering@lucent.com>
69012
69013         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
69014         it includes the patch required for `large file' support with at least
69015         HP-UX's 10.20 /bin/cc.
69016
69017 2001-02-03  Jim Meyering  <meyering@lucent.com>
69018
69019         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
69020         AS_IF, now that it works once again (mysteriously).
69021         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
69022
69023 2001-01-30  Jim Meyering  <meyering@lucent.com>
69024
69025         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
69026         * m4/chown.m4: Rename conftestchown to conftest.chown.
69027         * m4/rename.m4: s/conftestdir/conftest.d1/ and
69028         s/conftestdir2/conftest.d2/.
69029         * m4/utimes.m4: s/conftestdata/conftest.data/
69030         Inspired by Pavel Roskin's change in autoconf.
69031
69032 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
69033
69034         * lib/config.charset: Update for FreeBSD 4.2.
69035
69036 2001-01-27  Jim Meyering  <meyering@lucent.com>
69037
69038         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
69039         a use of AS_IF.
69040         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
69041
69042 2001-01-26  Jim Meyering  <meyering@lucent.com>
69043
69044         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
69045         quotearg.c includes it.
69046
69047 2001-01-26  Jim Meyering  <meyering@lucent.com>
69048
69049         * lib/quotearg.c: Include stddef.h.
69050         * lib/quote.c: Include stddef.h.
69051         Reported by Axel Kittenberger.
69052
69053         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
69054         line in double quotes so that it evokes a better diagnostic.
69055         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
69056         Reported by Axel Kittenberger.
69057
69058 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
69059
69060         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
69061         as if it was a `charset'.
69062
69063 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
69064
69065         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
69066         has const.
69067
69068 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
69069
69070         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
69071         to avoid a warning.  Add back 'const' to inptr.
69072
69073 2001-01-20  Jim Meyering  <meyering@lucent.com>
69074
69075         Be sure that headers are checked before used in code compiled
69076         for the type checks.
69077         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
69078         In place of that, invoke jm_CHECK_ALL_TYPES.
69079         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
69080         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
69081         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
69082         The check for ssize_t was mistakenly run before the test for unistd.h.
69083
69084         The configure-time check for stdbool.h was missing.
69085         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
69086         (jm_PREREQ_HASH): New function.
69087
69088 2001-01-17  Jim Meyering  <meyering@lucent.com>
69089
69090         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
69091         for autoconf-2.49c.
69092         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
69093
69094 2001-01-16  Jim Meyering  <meyering@lucent.com>
69095
69096         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
69097         From Bruno Haible.
69098
69099 2001-01-14  Jim Meyering  <meyering@lucent.com>
69100
69101         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
69102         foo and bar.  Create conftestdir/ in the script, not in the C code.
69103         Remove directories in the script, not in the C code.
69104         Remove conftestdir{,2} before trying to create the directory.
69105         Make the entire configure script fail if the mkdir fails.
69106
69107 2001-01-14  Jim Meyering  <meyering@lucent.com>
69108
69109         * lib/rename.c: New file.  From Volker Borchert.
69110         Include stdlib.h, string.h or strings.h, and xalloc.h.
69111         Use strip_trailing_slashes rather than open-coding it.
69112
69113 2001-01-03  Paul Eggert  <eggert@twinsun.com>
69114
69115         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
69116
69117 2001-01-03  Jim Meyering  <meyering@lucent.com>
69118
69119         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
69120         of local `inptr' to avoid warning with some system declarations of
69121         iconv.
69122
69123 2001-01-02  Volker Borchert  <bt@teknon.de>
69124
69125         * m4/rename.m4: New file.
69126         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
69127
69128 2001-01-01  Jim Meyering  <meyering@lucent.com>
69129
69130         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
69131         even on systems with utmpx.h.  It's necessary for the declaration of
69132         utmp's ut_user member.  Reported by Andreas Jaeger.
69133
69134         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
69135         available. They are required for the declarations of getgrgid and
69136         getpwuid resp.
69137         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
69138         Reported by Andreas Jaeger.
69139
69140 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
69141
69142         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
69143         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
69144         so `make install' also works in VPATH builds.
69145
69146 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
69147
69148         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
69149         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
69150         can be used in subdirectories.
69151
69152 2000-12-29  Paul Eggert  <eggert@twinsun.com>
69153
69154         * lib/modechange.c: Do not assume that mode_t uses the
69155         traditional octal encoding.  E.g. "chmod 1 FOO" should set
69156         the other-execute bit of FOO even if S_IXOTH != 1.
69157
69158         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
69159         WOTH, XOTH, ALLM): New macros.
69160         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
69161          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
69162         Use them.
69163         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
69164         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
69165         (mode_compile):
69166         No need to use uintmax_t; unsigned long is long enough.
69167         Don't bother to get suffix since we don't use it.
69168
69169 2000-12-26  Jim Meyering  <meyering@lucent.com>
69170
69171         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
69172         better with autoheader.
69173
69174 2000-12-24  Jim Meyering  <meyering@lucent.com>
69175
69176         * lib/hash.c (is_prime): Return explicit boolean values.
69177         (hash_get_first): Return NULL to appease Irix5.6's 89.
69178         Reported by Nelson Beebe.
69179
69180 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
69181
69182         * lib/localcharset.c (locale_charset): Add support for Win32.
69183
69184 2000-12-18  Paul Eggert  <eggert@twinsun.com>
69185
69186         * lib/physmem.h, lib/physmem.c: New files.
69187
69188         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
69189         (noinst_HEADERS): Add physmem.h.
69190
69191         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
69192         't' for compatibility with Solaris 8 sort.
69193
69194 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
69195
69196         * lib/config.charset: Add support for BeOS.
69197
69198 2000-12-17  Jim Meyering  <meyering@lucent.com>
69199
69200         * m4/dos.m4 (jm_AC_DOS): New file and macro.
69201         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
69202
69203 2000-12-16  Jim Meyering  <meyering@lucent.com>
69204
69205         This bug had a serious impact on chown: `chown N:M FILE' (for integer
69206         N and M) would have treated it like `chown N:N FILE'.
69207
69208         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
69209
69210 2000-12-16  Jim Meyering  <meyering@lucent.com>
69211
69212         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
69213         SHELLS_FILE to a file name that's useful on djgpp systems.
69214         Include stdlib.h.
69215         (ADDITIONAL_DEFAULT_SHELLS): Define.
69216         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
69217         Based mostly on a patch from Prashant TR.
69218
69219 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
69220
69221         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
69222         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
69223         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
69224
69225 2000-12-08  Andreas Schwab  <schwab@suse.de>
69226
69227         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
69228         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
69229
69230 2000-12-07  Jim Meyering  <meyering@lucent.com>
69231
69232         * lib/stripslash.c (ISSLASH): Define.
69233         (strip_trailing_slashes): Use ISSLASH rather than comparing against
69234         `/'.
69235         From Prashant TR.
69236
69237         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
69238         (dir_name_r): Declare this function as static.
69239         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
69240         manifest itself on a name containing a mix of slashes and
69241         backslashes.
69242         Make this function work with names starting with a DOS-style
69243         drive letter and colon prefix.
69244         (dir_name): Append `.' if necessary.
69245         Based mostly on patches from Prashant TR and Eli Zaretskii.
69246
69247         * lib/dirname.h (dir_name_r): Remove prototype.
69248
69249 2000-12-06  Paul Eggert  <eggert@twinsun.com>
69250
69251         * m4/off_t-format.m4: Remove this file.
69252         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
69253
69254 2000-12-06  Jim Meyering  <meyering@lucent.com>
69255
69256         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
69257         replacement strtoull, we may well need the replacement strtoul, too.
69258         Check for declarations of strtoul and strtoull.
69259         Check for strtol.  Mainly as a cue to cause automake to include
69260         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
69261         Check for limits.h -- strtol.c needs it.
69262
69263 2000-12-05  Jim Meyering  <meyering@lucent.com>
69264
69265         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
69266
69267 2000-12-04  Jim Meyering  <meyering@lucent.com>
69268
69269         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
69270         Also include memory.h, stdlib.h, unistd.h if appropriate.
69271         Reported by Andreas Jaeger (conflicting declaration of malloc).
69272
69273 2000-12-02  Jim Meyering  <meyering@lucent.com>
69274
69275         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
69276         * m4/jm-macros.m4 (jm_MACROS): require it.
69277
69278 2000-12-02  Jim Meyering  <meyering@lucent.com>
69279
69280         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
69281
69282 2000-12-01  Paul Eggert  <eggert@twinsun.com>
69283
69284         * lib/memrchr.c: Include <config.h> before any system include file.
69285
69286 2000-11-30  Jim Meyering  <meyering@lucent.com>
69287
69288         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
69289
69290 2000-11-30  Jim Meyering  <meyering@lucent.com>
69291
69292         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
69293
69294 2000-11-29  Paul Eggert  <eggert@twinsun.com>
69295
69296         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
69297
69298 2000-11-26  Jim Meyering  <meyering@lucent.com>
69299
69300         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
69301
69302 2000-11-22  Paul Eggert  <eggert@twinsun.com>
69303
69304         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
69305         size of (size_t) -1; it's not portable.
69306
69307 2000-11-17  Jim Meyering  <meyering@lucent.com>
69308
69309         * lib/strstr.c: Update from GNU libc.
69310
69311 2000-11-17  Akim Demaille  <akim@epita.fr>
69312
69313         * lib/obstack.h: Formatting changes.
69314         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
69315         prevent type checking.
69316         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
69317         cast the value to (void *): assigning a `foo *' to a `void *'
69318         variable is valid.
69319         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
69320
69321 2000-11-16  Jim Meyering  <meyering@lucent.com>
69322
69323         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
69324
69325 2000-11-11  Jim Meyering  <meyering@lucent.com>
69326
69327         * lib/error.c: Add a couple #includes, merging from GNU libc version.
69328
69329 2000-11-10  Jim Meyering  <meyering@lucent.com>
69330
69331         * lib/obstack.h: Update from GNU libc.
69332         * lib/obstack.c: Likewise.
69333
69334 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
69335
69336         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
69337
69338 2000-11-06  Paul Eggert  <eggert@twinsun.com>
69339
69340         * lib/getusershell.c (setusershell): Use rewind rather than
69341         fseek/fseeko, to avoid configuration hassles with fseeko.
69342         Don't bother opening SHELLS_FILE if shellstream is NULL;
69343         it's not necessary.
69344
69345 2000-11-05  Jim Meyering  <meyering@lucent.com>
69346
69347         * lib/makepath.h (make_dir): Declare.
69348         * lib/makepath.c (make_dir): Remove `static' attribute.
69349         Tweak a comment.
69350
69351 2000-11-04  Jim Meyering  <meyering@lucent.com>
69352
69353         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
69354
69355 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
69356
69357         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
69358         last one in a bucket, advance to the next bucket.
69359
69360 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
69361
69362         * lib/fnmatch.c: Do not comment out all the code if we are using
69363         the GNU C library, because in some cases we are replacing buggy
69364         code in the GNU C library itself.
69365
69366 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
69367
69368         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
69369         (regex_compile): Catch bogus \(\1\).
69370
69371 2000-10-30  Paul Eggert  <eggert@twinsun.com>
69372
69373         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
69374         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
69375         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
69376
69377 2000-10-30  Paul Eggert  <eggert@twinsun.com>
69378
69379         * lib/error.h, getline.h, modechange.h:
69380         Remove "2000" from Copyright line, as the file hasn't been
69381         changed this year other than in the copyright notice.
69382
69383         * lib/xalloc.h: Add "2000" to Copyright line, as this file
69384         was changed this year.
69385
69386 2000-10-29  Jim Meyering  <meyering@lucent.com>
69387
69388         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
69389         renaming.
69390         * m4/ls-mntd-fs.m4: Likewise
69391
69392 2000-10-29  Jim Meyering  <meyering@lucent.com>
69393
69394         * lib/xstat.in: Fix grammar in comment.
69395
69396 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
69397
69398         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
69399         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
69400         doesn't define __restrict_arr.
69401
69402 2000-10-28  Jim Meyering  <meyering@lucent.com>
69403
69404         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
69405         (jm_PREREQ_MEMCHR): New function.
69406
69407 2000-10-28  Jim Meyering  <meyering@lucent.com>
69408
69409         * lib/memchr.c: Update from libc.
69410         Adjust for portability:
69411         [HAVE_STDLIB_H]: Include stdlib.h.
69412         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
69413         Undef __memchr, too.
69414         [!weak_alias]: Define __memchr to memchr.
69415
69416         * lib/regex.c: Update from libc.
69417         * lib/regex.h: Likewise.
69418         * lib/getopt1.c: Likewise.
69419         * lib/memcmp.c: Likewise.
69420
69421         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
69422         Avoid using fseek, when possible -- it's broken by design.
69423         Patch by Ulrich Drepper.
69424
69425 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
69426
69427         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
69428         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
69429         Giving in to popular pressure to shut up the compiler with casts.
69430
69431 2000-10-26  Jim Meyering  <meyering@lucent.com>
69432
69433         * lib/strftime.c: Update from libc.
69434
69435 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
69436
69437         * regex.c: More `unsigned char' -> `re_char' changes.
69438         Also change several `int' into `re_wchar_t'.
69439         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
69440         (PUSH_FAILURE_POINTER): Don't cast any more.
69441         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
69442         We want GCC to complain, since this piece of code makes
69443         re_match non-reentrant, which *should* be fixed.
69444         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
69445         (EXTEND_BUFFER): Use RETALLOC.
69446         (SET_LIST_BIT): Don't cast.
69447         (re_wchar_t): New type.
69448         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
69449         that those two functions will always properly return.
69450         (IMMEDIATE_QUIT_CHECK): Cast to void.
69451         (analyse_first): Use recursion rather than an explicit stack.
69452         (re_compile_fastmap): Can't fail anymore.
69453         (re_search_2): Don't check re_compile_fastmap for failure.
69454         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
69455         Now also sets the new value (passed in a new argument).
69456         (re_match_2_internal): Use it.
69457         Also, use a new var `reg' of type size_t when looping through regs
69458         rather than reuse the inappropriate `mcnt'.
69459
69460 2000-10-25  Jim Meyering  <meyering@lucent.com>
69461
69462         * lib/obstack.c: Update from libc.
69463
69464 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
69465
69466         * regex.c (regex_compile): Change the way of handling a range from
69467         a char less than 256 to a char not less than 256.
69468
69469 2000-10-24  Andrew Innes  <andrewi@gnu.org>
69470
69471         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
69472         NT-Emacs only.
69473         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
69474         so that re_search functions only quit when callers expect them to.
69475
69476 2000-10-23  Jim Meyering  <meyering@lucent.com>
69477
69478         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
69479         wrong.  That set_locale call must not have any side effects.
69480         From Paul Eggert.
69481
69482 2000-10-22  Jim Meyering  <meyering@lucent.com>
69483
69484         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
69485         [CYCLIC]: Remove now-unused definition.
69486
69487         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
69488         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
69489         Suggestion from Ulrich Drepper.
69490
69491 2000-10-21  Jim Meyering  <meyering@lucent.com>
69492
69493         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
69494         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
69495         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
69496
69497 2000-10-21  Jim Meyering  <meyering@lucent.com>
69498
69499         * lib/dirname.c (memrchr): Declare if necessary.
69500         (dir_name): Remove the restriction that there be no
69501         trailing slashes.  Now, this code skips past them, effectively
69502         ignoring them.
69503         [TEST_DIRNAME] (main): New unit tests.
69504
69505         * lib/memrchr.c: New file from GNU libc.
69506         Undef __memrchr, too.
69507         [!weak_alias]: Define __memrchr to memrchr.
69508         Guard weak_alias use with `#ifdef weak_alias'.
69509
69510 2000-10-21  Jim Meyering  <meyering@lucent.com>
69511
69512         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
69513         (dir_name): Use dir_name_r.
69514         * lib/dirname.h (dir_name_r): Declare it.
69515
69516 2000-10-17  Jim Meyering  <meyering@lucent.com>
69517
69518         * lib/quote.h (PARAMS): Define and use.
69519         Reported by Akim Demaille.
69520
69521         * lib/getopt.c: Update from libc.
69522
69523 2000-10-16  Jim Meyering  <meyering@lucent.com>
69524
69525         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
69526         setlocale.
69527         From Jan Fedak.
69528
69529 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
69530
69531         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
69532
69533 2000-09-25  Jim Meyering  <meyering@lucent.com>
69534
69535         * lib/md5.h (rol): Define (from GnuPG).
69536
69537         * lib/sha.c: Give credit (GnuPG) where due.
69538         (M): Use rol rather than open-coding it.
69539         Add a FIXME comment.
69540
69541 2000-09-21  Jim Meyering  <meyering@lucent.com>
69542
69543         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
69544         Reported by Michael Stone.
69545
69546 2000-09-20  Jim Meyering  <meyering@lucent.com>
69547
69548         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
69549         (noinst_HEADERS): Add sha.h.
69550         Based on code from Scott G. Miller and from GnuPG.
69551
69552 2000-09-18  Jim Meyering  <meyering@lucent.com>
69553
69554         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
69555         LIBS. Otherwise, everyone ends up linking with -lelf for some
69556         configurations.
69557         Reported by Mike Stone.
69558
69559 2000-09-15  Jim Meyering  <meyering@lucent.com>
69560
69561         * lib/regex.c: Update from libc.
69562
69563 2000-09-10  Jim Meyering  <meyering@lucent.com>
69564
69565         * lib/getopt.c (_getopt_internal): Update from glibc.
69566
69567 2000-09-09  Jim Meyering  <meyering@lucent.com>
69568
69569         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
69570         think it should be used as a general replacement for isascii.
69571         * lib/fnmatch.c: Likewise.
69572         * lib/mbswidth.c: Likewise
69573         * lib/regex.c: Likewise.
69574
69575         Don't use atoi.
69576         * lib/userspec.c: Include sys/param.h and limits.h.
69577         Include xstrtol.h.
69578         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
69579         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
69580         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
69581         UID, GID.  Check range.
69582
69583 2000-09-06  Jim Meyering  <meyering@lucent.com>
69584
69585         * lib/getopt.c (_getopt_internal): Update from glibc.
69586
69587 2000-08-30  Jim Meyering  <meyering@lucent.com>
69588
69589         * lib/strftime.c: Merge in changes from GNU libc.
69590
69591 2000-08-26  Jim Meyering  <meyering@lucent.com>
69592
69593         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
69594         * m4/fpending.m4: New file.
69595
69596 2000-08-26  Jim Meyering  <meyering@lucent.com>
69597
69598         * lib/closeout.c: Include "__fpending.h".
69599         (close_stdout_status): Return right away if there's nothing to flush.
69600
69601         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
69602         * lib/__fpending.c: New file.
69603         * lib/__fpending.h: New file.
69604
69605 2000-08-20  Jim Meyering  <meyering@lucent.com>
69606
69607         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
69608         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
69609         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
69610
69611 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
69612
69613         Improve fileutils installation on systems where running
69614         programs (like install) can't be unlinked.
69615         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
69616         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
69617
69618 2000-08-07  Paul Eggert  <eggert@twinsun.com>
69619
69620         Standardize on "memory exhausted" instead of "Memory exhausted"
69621         or "virtual memory exhausted".
69622         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
69623         "virtual memory exhausted".
69624         * lib/same.c (same_name): Invoke xalloc_die instead of printing
69625         our own message.
69626         * lib/userspec.c (parse_user_spec): Likewise.
69627         * lib/bumpalloc.h: comment fix
69628         * lib/same.c, userspec.c: Include xalloc.h.
69629
69630         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
69631         not char *const and pointing to a constant array.
69632         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
69633         (xrealloc): Comment fix.
69634
69635         * lib/userspec.c (parse_user_spec):
69636         Don't translate a message until just before returning,
69637         to avoid unnecessary translation.
69638
69639 2000-08-07  Jim Meyering  <meyering@lucent.com>
69640
69641         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
69642         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
69643         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
69644         getgroups.c, gethostname.c, getopt.h, group-member.c,
69645         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
69646         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
69647         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
69648         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
69649         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
69650         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
69651         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
69652         yesno.c: Back out Copyright date changes for each file with no change
69653         this year.  This eases coordination with other programs using the same
69654         source code modules.  From Paul Eggert.
69655
69656 2000-08-06  Paul Eggert  <eggert@twinsun.com>
69657
69658         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
69659         not char, for compatibility with glibc 2.1.3 strftime.c.
69660
69661 2000-08-03  Greg McGary  <greg@mcgary.org>
69662
69663         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
69664         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
69665         (EXTEND_BUFFER): Use them.
69666
69667 2000-08-01  Jim Meyering  <meyering@lucent.com>
69668
69669         * lib/dirname.c (ISSLASH): Define.
69670         (BACKSLASH_IS_PATH_SEPARATOR): Define.
69671         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
69672         both `\' and `/' may be use as path separators.
69673         Based on a patch from Prashant TR.
69674
69675 2000-07-31  Paul Eggert  <eggert@twinsun.com>
69676
69677         * lib/quotearg.c (quotearg_n_options): Don't make the initial
69678         slot vector a constant, since it might get modified.
69679
69680 2000-07-31  Jim Meyering  <meyering@lucent.com>
69681
69682         * lib/xmalloc.c: Use `virtual memory exhausted', not
69683         `Memory exhausted'.
69684         * lib/obstack.c (print_and_abort): Likewise.
69685
69686 2000-07-30  Paul Eggert  <eggert@twinsun.com>
69687
69688         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
69689         buffer, so that the caller can always quote one small
69690         component of a "memory exhausted" message in slot 0.
69691         From a suggestion by Jim Meyering.
69692
69693 2000-07-30  Jim Meyering  <meyering@lucent.com>
69694
69695         * lib/makepath.c (make_path): Quote the other instance, too.
69696
69697         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
69698         (STATIC_BUF_SIZE): Define.
69699         (quotearg_n_options): Use only statically allocated storage when
69700         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
69701         than STATIC_BUF_SIZE.
69702
69703 2000-07-29  Jim Meyering  <meyering@lucent.com>
69704
69705         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
69706         * lib/dirname.c (dir_name): Likewise.
69707
69708         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
69709         `/'.
69710
69711         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
69712         (dir_name): Assert that there are no trailing slashes.
69713
69714 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
69715
69716         * lib/mbswidth.h (mbswidth): Add a flags argument.
69717         (mbswidth): New declaration.
69718         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
69719         * lib/mbswidth.c (mbswidth): Add a flags argument.
69720         (mbsnwidth): New function.
69721
69722 2000-07-24  Jim Meyering  <meyering@lucent.com>
69723
69724         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
69725
69726 2000-07-23  Paul Eggert  <eggert@twinsun.com>
69727
69728         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
69729
69730 2000-07-23  Paul Eggert  <eggert@twinsun.com>
69731
69732         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
69733         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
69734         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
69735         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
69736         invoke multibyte primitives.
69737
69738 2000-07-23  Paul Eggert  <eggert@twinsun.com>
69739
69740         * lib/quotearg.c:
69741         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
69742         so that mbstate_t is always defined.
69743
69744         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
69745         be 1 in at least one GCC installation, and this configuration
69746         error is likely to be common.  Ignoring MB_LEN_MAX hurts
69747         performance on hosts that have mbrtowc but have only unibyte
69748         locales, but I assume these hosts are rare.
69749
69750 2000-07-23  Paul Eggert  <eggert@twinsun.com>
69751
69752         * lib/mbswidth.c (_XOPEN_SOURCE):
69753         Don't define; this causes problems on Solaris 7.
69754         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
69755
69756 2000-07-23  Jim Meyering  <meyering@lucent.com>
69757
69758         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
69759         too: getgrgid, getpwuid, getuid.
69760
69761 2000-07-23  Jim Meyering  <meyering@lucent.com>
69762
69763         * lib/basename.c (base_name): Add an assertion.
69764
69765 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
69766
69767         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
69768         shadow its mbsinit function.
69769
69770 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
69771
69772         * lib/mbswidth.h: New file.
69773         * lib/mbswidth.c: New file.
69774         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
69775         (noinst_HEADERS): Add mbswidth.h.
69776
69777 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
69778
69779         * lib/config.charset: Add support for FreeBSD. Improve support for
69780         HP-UX and IRIX 6.
69781
69782 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
69783
69784         * m4/mbswidth.m4: New file.
69785         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
69786
69787 2000-07-15  Jim Meyering  <meyering@lucent.com>
69788
69789         * lib/makepath.c: Include quote.h.
69790         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
69791         corresponding argument in a `quote (...)' call.
69792         Give better diagnostics.
69793
69794         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
69795         (noinst_HEADERS): Add quote.h.
69796
69797         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
69798         from tar's src/misc.c.
69799         * lib/quote.h: New file.  Prototypes for same.
69800
69801 2000-07-14  Paul Eggert  <eggert@twinsun.com>
69802
69803         From a suggestion by Bruno Haible.
69804         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
69805         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
69806         to decide whether to define the BeOS workaround macro;
69807         this adjusts to the change to AC_MBSTATE_T.
69808
69809 2000-07-14  Jim Meyering  <meyering@lucent.com>
69810
69811         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
69812         jm_AC_TYPE_UINTMAX_T.
69813
69814 2000-07-13  Paul Eggert  <eggert@twinsun.com>
69815
69816         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
69817
69818         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
69819         quotearg_buffer_restyled): Add support for
69820         clocale_quoting_style.  Undo previous change to
69821         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
69822         and "{RIGHT QUOTATION MARK}" msgids.
69823
69824 2000-07-10  Paul Eggert  <eggert@twinsun.com>
69825
69826         From a suggestion by Bruno Haible.
69827         * m4/mbstate_t.m4 (AC_MBSTATE_T):
69828         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
69829         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
69830         and mbstate_t, to a single-part test that simply defines mbstate_t.
69831         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
69832         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
69833
69834 2000-07-10  Jim Meyering  <meyering@lucent.com>
69835
69836         * m4/strerror_r.m4: Mirror the correction made in autoconf.
69837
69838         * m4/gnu-source.m4: Output to confdefs.h directly.
69839         Suggestion from Akim Demaille.
69840
69841 2000-07-09  Paul Eggert  <eggert@twinsun.com>
69842
69843         The old behavior of quoting `like this' doesn't look good with
69844         newer, ISO-style fonts.  See:
69845         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
69846
69847         Instead, quote "like this" by default.  Let the translator
69848         tailor the locale-specific quoting behavior by providing
69849         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
69850
69851         * lib/quotearg.c (N_): New macro.
69852         (gettext_default): New function.
69853         (quotearg_buffer_restyled): Use
69854         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
69855         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
69856
69857 2000-07-09  Jim Meyering  <meyering@lucent.com>
69858
69859         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
69860         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
69861
69862         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
69863         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
69864
69865 2000-07-09  Jim Meyering  <meyering@lucent.com>
69866
69867         * lib/Most files: Update copyright dates to include 2000.
69868
69869 2000-07-08  Jim Meyering  <meyering@lucent.com>
69870
69871         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
69872         if not defined.
69873         (xgethostname): Remove now-unnecessary #ifdef.
69874         Move declaration of `err' into loop where it's used.
69875
69876 2000-07-05  Paul Eggert  <eggert@twinsun.com>
69877         and Bruno Haible  <haible@clisp.cons.org>
69878
69879         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
69880         only if the test for an object-type mbstate_t fails.  This
69881         prevents us from mistakenly reporting that mbstate_t is a
69882         system object type after we "#define mbstate_t int" to work
69883         around its lack.
69884
69885 2000-07-05  Paul Eggert  <eggert@twinsun.com>
69886         and Bruno Haible  <haible@clisp.cons.org>
69887
69888         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
69889
69890 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
69891
69892         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
69893         to strerror_r.
69894         Include <ctype.h> for use of isalpha.
69895
69896 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
69897
69898         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
69899         by allocating a larger buffer. Test the gethostname return value for
69900         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
69901         returns an error and ENAMETOOLONG isn't defined.
69902
69903 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
69904
69905         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
69906         dimension.
69907
69908 2000-07-04  Jim Meyering  <meyering@lucent.com>
69909
69910         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
69911         of the deprecated AC_CHECKING.
69912
69913 2000-07-04  Jim Meyering  <meyering@lucent.com>
69914
69915         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
69916         Reported by Bruno Haible.
69917
69918 2000-07-04  Jim Meyering  <meyering@lucent.com>
69919
69920         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
69921         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
69922         lacks mbrtowc.
69923
69924 2000-07-03  Paul Eggert  <eggert@twinsun.com>
69925
69926         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
69927         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
69928
69929 2000-07-03  Paul Eggert  <eggert@twinsun.com>
69930         and Bruno Haible  <haible@clisp.cons.org>
69931
69932         * lib/quotearg.c (mbrtowc):
69933         Assign to *pwc, and return 1 only if result is nonzero.
69934         (iswprint): Use ISPRINT when substituting our own mbrtowc.
69935
69936 2000-07-03  Jim Meyering  <meyering@lucent.com>
69937
69938         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
69939
69940 2000-07-03  Jim Meyering  <meyering@lucent.com>
69941
69942         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
69943         This is necessary to get a definition of e.g., UTMP_FILE on
69944         HP-UX 10.20.
69945         From Bob Proulx.
69946
69947 2000-07-02  Jim Meyering  <meyering@lucent.com>
69948
69949         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
69950
69951         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
69952         AC_LIBOBJ(function_name).
69953         * m4/chown.m4: Likewise.
69954         * m4/fnmatch.m4: Likewise.
69955         * m4/ftruncate.m4: Likewise.
69956         * m4/getgroups.m4: Likewise.
69957         * m4/getline.m4: Likewise.
69958         * m4/group-member.m4: Likewise.
69959         * m4/jm-macros.m4: Likewise.
69960         * m4/lstat.m4: Likewise.
69961         * m4/malloc.m4: Likewise.
69962         * m4/memcmp.m4: Likewise.
69963         * m4/nanosleep.m4: Likewise.
69964         * m4/putenv.m4: Likewise.
69965         * m4/realloc.m4: Likewise.
69966         * m4/regex.m4: Likewise.
69967         * m4/stat.m4: Likewise.
69968         * m4/strftime.m4: Likewise.
69969
69970 2000-07-02  Jim Meyering  <meyering@lucent.com>
69971
69972         * lib/quotearg.c (mbstate_t): Don't define here.
69973
69974 2000-07-02  Jim Meyering  <meyering@lucent.com>
69975
69976         * lib/nanosleep.c (SIGCONT): Define if not already defined.
69977
69978 2000-07-01  Jim Meyering  <meyering@lucent.com>
69979
69980         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
69981
69982 2000-07-01  Jim Meyering  <meyering@lucent.com>
69983
69984         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
69985         problem.
69986
69987 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
69988
69989         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
69990         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
69991
69992 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
69993
69994         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
69995         per change in ../m4/ls-mntd-fs.m4.
69996         (read_filesystem_list): Ignore symbolic links.
69997
69998 2000-06-29  Jim Meyering  <meyering@lucent.com>
69999
70000         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
70001         for declaration of strcmp.
70002
70003         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
70004
70005         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
70006         Avoid warning by casting result to `char *' to remove `const'.
70007
70008 2000-06-28  Jim Meyering  <meyering@lucent.com>
70009
70010         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
70011         included by quotearg.c, for which we perform this test.  From
70012         Bruno Haible.
70013
70014 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
70015
70016         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
70017         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
70018         <utmpx.h> exists, put readutmp.o into LIBOBJS.
70019
70020 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
70021
70022         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
70023
70024 2000-06-26  Paul Eggert  <eggert@twinsun.com>
70025
70026         savedir now sets errno on failure and invokes xmalloc to get memory.
70027         Fix a couple of other minor bugs while we're at it.
70028
70029         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
70030         (NAMLEN): Remove macro.
70031         (malloc, realloc): Remove decls.
70032         (stpcpy): Likewise.
70033         ("xalloc.h"): Include.
70034         (NAME_SIZE_DEFAULT): New macro.
70035         (savedir): Use xmalloc / xrealloc to allocate memory.
70036         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
70037         Skip "" directory entries.
70038         Use strlen to calculate directory entry length, since the old method
70039         is rarely used these days and isn't worth supporting.
70040         Don't use a pointer after freeing it.
70041         Check for integer overflow when calculating allocation size.
70042         Use memcpy to copy entries, instead of stpcpy.
70043         Set errno properly when returning NULL.
70044         Check for readdir error.
70045
70046 2000-06-26  Jim Meyering  <meyering@lucent.com>
70047
70048         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
70049
70050 2000-06-25  Jim Meyering  <meyering@lucent.com>
70051
70052         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
70053         Linux header bug when _XOPEN_SOURCE is defined to 500.
70054
70055 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
70056
70057         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
70058         deficiency.
70059
70060 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
70061
70062         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
70063         Include xalloc.h.
70064         Don't include <stdlib.h>.  Don't declare malloc, realloc.
70065
70066 2000-06-24  Jim Meyering  <meyering@lucent.com>
70067
70068         * m4/strerror_r.m4: Revive this file -- to try out an experimental
70069         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
70070         for which strerror does return char*, but which lacks a conveniently
70071         accessible declaration of the function.  If the compile-test says
70072         strerror_r doesn't work, then resort to a `run'-test that works on
70073         BeOS and segfaults on DEC Unix.
70074
70075 2000-06-24  Jim Meyering  <meyering@lucent.com>
70076
70077         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
70078
70079 2000-06-23  Paul Eggert  <eggert@twinsun.com>
70080
70081         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
70082         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
70083
70084 2000-06-23  Paul Eggert  <eggert@twinsun.com>
70085
70086         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
70087         (mbrtowc, mbstate_t): Define substitutes if
70088         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
70089         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
70090         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
70091
70092 2000-06-23  Jim Meyering  <meyering@lucent.com>
70093
70094         * m4/afs.m4: Add missing AC_MSG_RESULT.
70095         Reported by Bruno Haible.
70096
70097         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
70098         Suggestion from Bruno Haible.
70099
70100 2000-06-23  Jim Meyering  <meyering@lucent.com>
70101
70102         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
70103
70104 2000-06-21  Jim Meyering  <meyering@lucent.com>
70105
70106         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
70107
70108 2000-06-21  Jim Meyering  <meyering@lucent.com>
70109
70110         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
70111         (noinst_HEADERS): Add getstr.h.
70112
70113         * lib/getline.c (getstr): Move into a separate file.
70114         * lib/getstr.c (getstr): New file, extracted from getline.c, with
70115         the following changes: new parameter, delim2; both delim[12]
70116         parameters have type `int', not `char'.  The latter would lose
70117         with 8-bit delimiters.
70118         * lib/getstr.h: New file.
70119
70120 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
70121
70122         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
70123         than 1024, return a memory chunk of least possible size, instead
70124         of size PATH_MAX + 2. In the loop, increment the size proportionally.
70125         Use free/xmalloc instead of xrealloc to avoid copying for very long
70126         paths.
70127
70128 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
70129
70130         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
70131         the empty string.
70132
70133 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
70134
70135         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
70136         address, not strdup.  Include <stdlib.h> and don't declare free().
70137
70138 2000-06-19  Jim Meyering  <meyering@lucent.com>
70139
70140         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
70141
70142 2000-06-18  Jim Meyering  <meyering@lucent.com>
70143
70144         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
70145
70146         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
70147         `checking whether...' message to be consistent with that of the
70148         lstat test.
70149
70150 2000-06-18  Jim Meyering  <meyering@lucent.com>
70151
70152         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
70153         Besides, these days every porting target provides a mkdir function.
70154
70155         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
70156         needed. (this snippet comes from src/system.h).
70157
70158 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
70159
70160         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
70161
70162 2000-06-15  Paul Eggert  <eggert@twinsun.com>
70163
70164         * lib/human.c (adjust_value): New function.
70165         (human_readable_inexact): Apply rounding style even when
70166         printing approximate values.
70167
70168 2000-06-14  Paul Eggert  <eggert@twinsun.com>
70169
70170         * lib/human.c (human_readable_inexact): Allow an input block
70171         size that is not a multiple of the output block size, and vice versa.
70172         Reported by Piergiorgio Sartor.
70173
70174 2000-06-14  Paul Eggert  <eggert@twinsun.com>
70175
70176         * lib/getdate.y (get_date): Apply relative times after time
70177         zone indicator, not before.  Reported by Todd A. Jacobs.
70178
70179 2000-06-13  Jim Meyering  <meyering@lucent.com>
70180
70181         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
70182
70183         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
70184
70185 2000-06-12  Paul Eggert  <eggert@twinsun.com>
70186
70187         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
70188
70189 2000-06-12  Jim Meyering  <meyering@lucent.com>
70190
70191         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
70192         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
70193         optional argument.
70194         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
70195         the optional argument, `lib'.
70196
70197 2000-06-08  Jim Meyering  <meyering@lucent.com>
70198
70199         * m4/largefile.m4: Remove file (now that it's part of autoconf).
70200
70201 2000-06-04  Paul Eggert  <eggert@twinsun.com>
70202
70203         Rewrite largefile configuration so that we don't need to run
70204         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
70205         AC_CANONICAL_HOST in configure.in -- jmm]
70206
70207         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
70208         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
70209         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
70210         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
70211         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
70212         All uses changed.
70213         Instead of inspecting the output of getconf, try to compile the
70214         test program without and with the macro definition.
70215         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
70216         for getconf.  Instead, check for the needed flags by compiling
70217         test programs.
70218
70219 2000-06-04  Paul Eggert  <eggert@twinsun.com>
70220
70221         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
70222
70223 2000-06-04  Jim Meyering  <meyering@lucent.com>
70224
70225         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
70226         SunOS 4.1.4 for which gid_t is an unsigned type.
70227
70228 2000-06-03  Jim Meyering  <meyering@lucent.com>
70229
70230         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
70231         now that autoconf requires that.
70232
70233         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
70234         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
70235         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
70236
70237 2000-06-03  Jim Meyering  <meyering@lucent.com>
70238
70239         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
70240
70241 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
70242
70243         * m4/glibc21.m4: New file.
70244         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
70245
70246 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
70247
70248         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
70249         newer, don't install charset.alias.
70250         * lib/config.charset: Change the Linux/glibc rules so they become empty
70251         on glibc-2.1 or newer.
70252
70253 2000-06-02  Jim Meyering  <meyering@lucent.com>
70254
70255         * lib/mountlist.c: Back out last change.  Instead, do this...
70256         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
70257         me_dummy member using the same `ignore'-testing code.
70258         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
70259         fs_type strings.
70260         From Mark D. Roth.
70261
70262 2000-05-29  Jim Meyering  <meyering@lucent.com>
70263
70264         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
70265         mounts with the `ignore' attribute.  Based on a patch from
70266         Mark D. Roth.
70267
70268 2000-05-28  Jim Meyering  <meyering@lucent.com>
70269
70270         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
70271         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
70272         * m4/stat.m4: Likewise.
70273         * m4/lstat.m4: Likewise.
70274         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
70275
70276         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
70277         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
70278
70279 2000-05-26  Jim Meyering  <meyering@lucent.com>
70280
70281         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
70282
70283 2000-05-24  Jim Meyering  <meyering@lucent.com>
70284
70285         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
70286         autoconf requires that.
70287         * m4/lib-check.m4: Likewise.
70288         * m4/jm-macros.m4: Likewise.
70289         * m4/strftime.m4: Likewise.
70290
70291         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
70292         AC_CHECK_DECLS, now that autoconf requires that.
70293
70294 2000-05-22  Jim Meyering  <meyering@lucent.com>
70295
70296         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
70297         * m4/lstat.m4: Likewise.
70298
70299 2000-05-22  Jim Meyering  <meyering@lucent.com>
70300
70301         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
70302
70303 2000-05-20  Jim Meyering  <meyering@lucent.com>
70304
70305         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
70306         (jm_PREREQ): Use it.
70307
70308 2000-05-18  Jim Meyering  <meyering@lucent.com>
70309
70310         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
70311         back, too, since it may have been modified by allocate_entry.
70312         (hash_delete): Rewrite to use neither the assignment operator
70313         nor the comma operator in an if-expression.
70314
70315 2000-05-15  Paul Eggert  <eggert@twinsun.com>
70316
70317         * lib/closeout.c:
70318         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
70319         Remove; no longer needed.
70320         "quotearg.h": Add include.
70321         (file_name): Do not bother to explicitly initialize to NULL; it's less
70322         efficient on some hosts.
70323         (close_stdout_status): Remove test as to whether stdout was already
70324         closed; it breaks for the case "echo x | sort >&-".
70325         Quote file name colons.
70326         Do not assume that _("write error") lacks format strings.
70327
70328 2000-05-15  Jim Meyering  <meyering@lucent.com>
70329
70330         * lib/version-etc.c (version_etc_copyright): Update the copyright
70331         string used in all --version output.
70332
70333 2000-05-14  Jim Meyering  <meyering@lucent.com>
70334
70335         * lib/closeout.c (close_stdout_set_file_name): New function.
70336         (close_stdout_status): Use new file-scoped global.
70337         Return right away if fstat says the stdout file descriptor is invalid.
70338         * lib/closeout.h (close_stdout_set_file_name): Declare.
70339
70340 2000-05-10  Jim Meyering  <meyering@lucent.com>
70341
70342         * lib/closeout.c [default_exit_status]: New file-scoped variable.
70343         (close_stdout_set_status): New function.
70344         * lib/closeout.h (close_stdout_set_status): Declare.
70345
70346 2000-05-09  Jim Meyering  <meyering@lucent.com>
70347
70348         * m4/gettext.m4: Rename this...
70349         * m4/libintl.m4: ...to this.
70350
70351 2000-05-08  Jim Meyering  <meyering@lucent.com>
70352
70353         * lib/long-options.c: Don't include closeout.h.
70354         (parse_long_options): Don't call close_stdout for --version.
70355
70356 2000-05-06  Paul Eggert  <eggert@twinsun.com>
70357
70358         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
70359         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
70360         2.1.3 bug.  This avoids a clash when files like regex.c define
70361         _GNU_SOURCE.
70362
70363 2000-05-06  Jim Meyering  <meyering@lucent.com>
70364
70365         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
70366         (AC_REPLACE_FUNCS): Add strnlen.
70367
70368         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
70369         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
70370
70371         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
70372         AC_SEARCH_LIBS call for nanosleep.
70373         (LIB_NANOSLEEP): Set and AC_SUBST.
70374
70375 2000-05-06  Jim Meyering  <meyering@lucent.com>
70376
70377         * lib/strnlen.c: Undefine __strnlen and strnlen.
70378         [!weak_alias]: Define __strnlen to strnlen.
70379
70380         * lib/atexit.c: New file, from libiberty.
70381
70382 2000-05-06  Jim Meyering  <meyering@lucent.com>
70383
70384         * lib/closeout.c (close_stdout_status): Also check for errors on the
70385         stderr stream.
70386
70387 2000-05-05  Jim Meyering  <meyering@lucent.com>
70388
70389         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
70390         AC_SEARCH_LIBS call for clock_gettime.
70391         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
70392
70393         * m4/search-libs.m4: Update from autoconf.
70394
70395         su doesn't work on Solaris 2.6.
70396         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
70397         <shadow.h>.  Reported by Dragos Harabor.
70398
70399 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
70400
70401         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
70402         memcpy instead of xmalloc, xrealloc, path_concat.
70403         (locale_charset): Treat empty environment variables as absent.
70404         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
70405
70406 2000-05-04  Jim Meyering  <meyering@lucent.com>
70407
70408         * lib/getopt.c: Update from glibc.
70409         * lib/obstack.c: Likewise.
70410         * lib/obstack.h: Likewise.
70411         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
70412         file
70413
70414         * lib/regex.h: Likewise.
70415         * lib/strndup.c: Likewise.
70416         * lib/strnlen.c: New file, from glibc.
70417
70418 2000-05-03  Jim Meyering  <meyering@lucent.com>
70419
70420         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
70421
70422 2000-05-02  Paul Eggert  <eggert@twinsun.com>
70423
70424         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
70425         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
70426         compile-time test, rather than inspecting host and OS, to
70427         decide whether to define _LARGEFILE_SOURCE.
70428
70429 2000-05-01  Jim Meyering  <meyering@lucent.com>
70430
70431         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
70432
70433         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
70434         Based on a patch from Bruno Haible.
70435
70436 2000-05-01  Jim Meyering  <meyering@lucent.com>
70437
70438         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
70439
70440 2000-04-29  Jim Meyering  <meyering@lucent.com>
70441
70442         * lib/path-concat.c: Declare strdup only if it's not defined.
70443         * lib/canon-host.c: Likewise.
70444
70445 2000-04-28  Jim Meyering  <meyering@lucent.com>
70446
70447         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
70448         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
70449         is included first, then limits.h is included by locale.h by libintl.h.
70450         From John David Anglin.
70451
70452 2000-04-25  Jim Meyering  <meyering@lucent.com>
70453
70454         * lib/makepath.c (S_IRWXUGO): Define.
70455         (make_path): Always perform explicit chmod if MODE specifies any
70456         of the `special' permission bits.  Prompted by a bug report against
70457         install from Mate Wierdl and Joost van Baal.
70458
70459 2000-04-18  Jim Meyering  <meyering@lucent.com>
70460
70461         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
70462         (jm_PREREQ): Use it.
70463
70464 2000-04-18  Jim Meyering  <meyering@lucent.com>
70465
70466         * lib/README: New file.
70467
70468         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
70469         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
70470
70471 2000-04-17  Jim Meyering  <meyering@lucent.com>
70472
70473         Get it right :-)
70474         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
70475         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
70476         Suggestion from Akim Demaille.
70477
70478 2000-04-17  Jim Meyering  <meyering@lucent.com>
70479
70480         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
70481         the definition of it to rpl_strftime also defined-away the system's
70482         declaration.
70483
70484 2000-04-15  Jim Meyering  <meyering@lucent.com>
70485
70486         Use `C' to denote so-called `contiguous' files, the same way
70487         that tar does.
70488         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
70489         (ftypelet): Use S_ISCTG.
70490         From Michael Deutschmann.
70491
70492 2000-04-14  Jim Meyering  <meyering@lucent.com>
70493
70494         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
70495         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
70496         clobbered.
70497
70498 2000-04-14  Jim Meyering  <meyering@lucent.com>
70499
70500         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
70501
70502 2000-04-13  Jim Meyering  <meyering@lucent.com>
70503
70504         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
70505         AH_VERBATIM to insert required #ifndef into config.h.in.
70506         Suggestion from Akim Demaille.
70507
70508 2000-04-12  Jim Meyering  <meyering@lucent.com>
70509
70510         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
70511         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
70512         Christian Krackowizer.
70513
70514         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
70515         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
70516         (AC_SYS_LARGEFILE): Require.
70517         (AM_C_PROTOTYPES): Require.
70518
70519 2000-04-08  Jim Meyering  <meyering@lucent.com>
70520
70521         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
70522         names don't conflict.  Reported by Eli Zaretskii.
70523
70524 2000-04-07  Jim Meyering  <meyering@lucent.com>
70525
70526         * lib/putenv.c: Move inclusion of errno.h so it follows that of
70527         sys/types.h, to work around system header problems on AIX 3.2.5.
70528         From Bruno Haible.
70529
70530 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
70531
70532         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
70533         bug.  Deal with the different error behavior of Irix iconv.
70534
70535 2000-04-05  Paul Eggert  <eggert@twinsun.com>
70536
70537         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
70538         IRIX if the installer said otherwise.
70539
70540 2000-04-05  Jim Meyering  <meyering@lucent.com>
70541
70542         Portability tweaks required for ultrix4.3.
70543         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
70544         (jm_CHECK_DECLS): Add getutent to the list of functions.
70545         (_jm_DECL_HEADERS): Add utmpx.h.
70546         From John David Anglin.
70547
70548         * m4/strftime.m4: Back out the 2000-04-02 change.
70549         Instead of that change, simply undefine putenv in the test program.
70550
70551 2000-04-05  Jim Meyering  <meyering@lucent.com>
70552
70553         Portability tweaks required for ultrix4.3.
70554         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
70555         getutent.
70556         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
70557         * lib/canon-host.c: Declare strdup.
70558         * lib/path-concat.c: Likewise.
70559         From John David Anglin.
70560
70561 2000-04-04  Jim Meyering  <meyering@lucent.com>
70562
70563         Be more DOS 8.3-friendly.
70564         * lib/ref-add.sin: Renamed from ref-add.sed.in.
70565         * lib/ref-del.sin: Renamed from ref-del.sed.in.
70566         * lib/Makefile.am: Reflect renaming.
70567         Reported by Eli Zaretskii.
70568
70569         Use a temporary file name that won't clash with `charset.alias'
70570         in the DOS 8.3 name space.
70571         * lib/Makefile.am (charset_tmp): Define.
70572         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
70573         (uninstall-local): Likewise.
70574         Reported by Eli Zaretskii.
70575
70576 2000-04-03  Jim Meyering  <meyering@lucent.com>
70577
70578         * m4/gettext.m4: Fix typo in comment.
70579
70580         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
70581         textutils/configure.in).  Suggestion from Paul Eggert.
70582         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
70583
70584 2000-04-02  Paul Eggert  <eggert@twinsun.com>
70585
70586         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
70587         variable in the shell rather than using putenv, which isn't
70588         portable.  This avoids the configure-time inter-test dependency
70589         on the potentially-renamed putenv function.
70590
70591 2000-03-30  Paul Eggert  <eggert@twinsun.com>
70592
70593         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
70594         before checking struct stat.st_blksize, so that
70595         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
70596
70597 2000-03-29  Paul Eggert  <eggert@twinsun.com>
70598
70599         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
70600         since strftime.c uses HAVE_STRFTIME to decide whether to use
70601         the underlying strftime.
70602
70603 2000-03-29  Paul Eggert  <eggert@twinsun.com>
70604
70605         * lib/time/strftime.c (my_strftime): Make sure we call the system
70606         strftime, not ourselves, when invoking the underlying strftime.
70607
70608 2000-03-24  Jim Meyering  <meyering@lucent.com>
70609
70610         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
70611         (charset_alias): Define.
70612         (install-exec-local): Factor out common code.
70613         (uninstall-local): Split lines longer than 80.
70614         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
70615         (SUFFIXES): Define.
70616         (.sed.in.sed): New rule.  Don't redirect directly to $@.
70617         (CLEANFILES): Add ref-add.sed and ref-del.sed.
70618
70619 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
70620
70621         * lib/config.charset: Output a line containing "Packages using this
70622         file".
70623         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
70624         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
70625         ref-del.sed): New rules.
70626
70627 2000-03-17  Jim Meyering  <meyering@lucent.com>
70628
70629         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
70630         Otherwise, include <strings.h>
70631
70632 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
70633
70634         * lib/unicodeio.c (utf8_wctomb): New function.
70635         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
70636         format instead of in UCS-4 with platform dependent endianness.
70637
70638 2000-03-10  Jim Meyering  <meyering@lucent.com>
70639
70640         * m4/lib-check.m4: Look for getspnam in -lgen, too.
70641         From Marco Franzen.
70642
70643 2000-03-07  Paul Eggert  <eggert@twinsun.com>
70644
70645         * lib/savedir.c (savedir): Work even if directory size is
70646         negative; this can happen with some screwy NFS configurations.
70647
70648 2000-03-06  Jim Meyering  <meyering@lucent.com>
70649
70650         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
70651         if it's NULL (because we ran out of memory).  From Bruno Haible.
70652
70653 2000-03-05  Jim Meyering  <meyering@lucent.com>
70654
70655         * lib/localcharset.c ("path-concat.h"): Include.
70656         (get_charset_aliases): Use path_concat instead of ANSI string
70657         concatenation.
70658
70659         * lib/unicodeio.h (PARAMS): Define.
70660         Use it to guard prototype.
70661
70662 2000-03-04  Jim Meyering  <meyering@lucent.com>
70663
70664         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
70665         for lib/localcharset.c.
70666
70667 2000-03-04  Jim Meyering  <meyering@lucent.com>
70668
70669         * lib/Makefile.am (install-exec-local): Create $(libdir) before
70670         installing into it.
70671         (uninstall-local): Uncomment this rule so `make distcheck' works
70672         once again.
70673
70674         * lib/unicodeio.c (<errno.h>): Include it.
70675         (errno): Declare if not defined.
70676
70677         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
70678
70679         * lib/config.charset: New version, incorporating remarks from a linux
70680         i18n mailing list.  From Bruno Haible.
70681
70682 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
70683
70684         * m4/codeset.m4: New file.
70685         * m4/iconv.m4: New file.
70686         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
70687
70688 2000-03-03  Jim Meyering  <meyering@lucent.com>
70689
70690         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
70691
70692 2000-03-02  Jim Meyering  <meyering@lucent.com>
70693
70694         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
70695         the messages come out on separate lines.
70696
70697         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
70698         rather than jm_CHECK_DECLARATIONS.
70699         * m4/decl.m4: Remove now-unused file.
70700
70701         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
70702         geteuid.
70703
70704 2000-03-02  Jim Meyering  <meyering@lucent.com>
70705
70706         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
70707
70708 2000-03-01  Jim Meyering  <meyering@lucent.com>
70709
70710         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
70711         * lib/unicodeio.c: Likewise.
70712
70713 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
70714
70715         * lib/config.charset: New file.
70716         * lib/localcharset.c: New file.
70717         * lib/unicodeio.h, lib/unicodeio.c: New files.
70718         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
70719         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
70720         (noinst_HEADERS): Add unicodeio.h.
70721         (all-local, install-exec-local, charset.alias): New targets.
70722
70723 2000-02-28  Paul Eggert  <eggert@twinsun.com>
70724
70725         * lib/quotearg.c (ALERT_CHAR): New macro.
70726         (quotearg_buffer_restyled): Use it.
70727
70728 2000-02-27  Jim Meyering  <meyering@lucent.com>
70729
70730         * m4/check-decl.m4: Add getenv to the list.
70731
70732 2000-02-27  Jim Meyering  <meyering@lucent.com>
70733
70734         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
70735         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
70736
70737         * lib/backupfile.c: Guard inclusion of stdlib.h with
70738         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
70739         Declare malloc if needed.
70740
70741         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
70742         `#ifndef HAVE_DECL..'
70743         now that autoconf always defines the HAVE_DECL_ symbols.
70744         * lib/human.c: Likewise.
70745         * lib/same.c: Likewise.
70746         * lib/strtoumax.c: Likewise.
70747
70748         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
70749         declaration check was not run.
70750         * lib/hash.c: Likewise.
70751         * lib/human.c: Likewise.
70752         * lib/same.c: Likewise.
70753         * lib/strtoumax.c: Likewise.
70754
70755         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
70756         `.', then first look up the entire `.'-containing string as a login
70757         name.
70758
70759 2000-02-23  Jim Meyering  <meyering@lucent.com>
70760
70761         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
70762         in place of my hack.
70763
70764 2000-02-18  Paul Eggert  <eggert@twinsun.com>
70765
70766         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
70767         (textint): New typedef.
70768         (parser_control): Member year changed from int to textint.
70769         All uses changed.
70770         (YYSTYPE): Removed; replaced by %union with int and textint members.
70771         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
70772         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
70773         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
70774         (tSNUMBER, tUNUMBER): Now of type <textintval>.
70775         (date, number, to_year): Use width of number in digits, not its value,
70776         to determine whether it's a 2-digit year, or a 2-digit time.
70777         (yylex): Store number of digits of numeric tokens.
70778         Reported by John Kendall.
70779
70780         (parser_control): Changed from struct parser_control to typedef (for
70781         consistency).  All uses changed.
70782
70783         (tID): Removed; not used.
70784         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
70785
70786 2000-02-14  Paul Eggert  <eggert@twinsun.com>
70787
70788         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
70789         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
70790
70791 2000-02-12  Jim Meyering  <meyering@lucent.com>
70792
70793         * lib/userspec.c (ISDIGIT): Define it.
70794         (isdigit): Remove definition.
70795         (is_number): Use ISDIGIT, not isdigit.
70796         <libintl.h>: Include.
70797         (_ and N_): Define.
70798         (parse_user_spec): Mark translatable strings.
70799
70800 2000-02-10  Jim Meyering  <meyering@lucent.com>
70801
70802         With these changes, nanosleep.[ch] are finally enough like the other
70803         lib/* replacement files to compile on a few more losing systems.
70804
70805         * lib/nanosleep.h: Don't include config.h.
70806         Remove prototype from declaration of nanosleep.
70807         (PARAMS): Remove now-unneeded definition.
70808         * lib/nanosleep.c: #undef nanosleep.
70809         (rpl_nanosleep): Rename from nanosleep.
70810
70811 2000-02-10  Jim Meyering  <meyering@lucent.com>
70812
70813         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
70814         gnu_nanosleep to rpl_nanosleep.
70815
70816 2000-02-09  Jim Meyering  <meyering@lucent.com>
70817
70818         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
70819         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
70820
70821 2000-02-08  Akim Demaille  <akim@epita.fr>
70822
70823         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
70824         `[' and `]' and remove uses of `changequote'.
70825         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
70826         (AC_SYS_LARGEFILE): Likewise.
70827         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
70828         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
70829         of changequote.
70830         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
70831         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
70832         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
70833         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
70834
70835 2000-02-05  Jim Meyering  <meyering@lucent.com>
70836
70837         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
70838         Remove explicit use of AC_HEADER_TIME.  It is required by
70839         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
70840         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
70841         in autoconf whereby the expansion of the latter ended up preceding
70842         the expansion of its prerequisite, AC_HEADER_TIME.
70843         Reported by Volker Borchert.
70844
70845 2000-02-03  Jim Meyering  <meyering@lucent.com>
70846
70847         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
70848
70849 2000-02-03  Jim Meyering  <meyering@lucent.com>
70850
70851         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
70852         rather than with `#if HAVE_UTMPNAME'.
70853
70854 2000-02-02  Jim Meyering  <meyering@lucent.com>
70855
70856         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
70857         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
70858         Reported by Eli Zaretskii.
70859
70860 2000-02-01  Jim Meyering  <meyering@lucent.com>
70861
70862         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
70863
70864 2000-01-31  Jim Meyering  <meyering@lucent.com>
70865
70866         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
70867         functions.  Add the time.h and sys/time.h headers along with the
70868         AC_REQUIRE'ment of AC_HEADER_TIME.
70869
70870 2000-01-31  Jim Meyering  <meyering@lucent.com>
70871
70872         * lib/nanosleep.h (nanosleep): Guard declaration with
70873         `#if ! HAVE_DECL_NANOSLEEP'.
70874         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
70875         the declaration in that vendor's sys/timers.h.
70876         Reported by Christian Krackowizer.
70877
70878         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
70879         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
70880         (ISPRINT): Likewise.
70881         Reported by Tom Tromey.
70882
70883 2000-01-30  Jim Meyering  <meyering@lucent.com>
70884
70885         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
70886
70887         * m4/prereq.m4 (utmp_includes): Define.
70888         Check for ut_user and ut_name members in both struct utmpx
70889         and struct utmp.
70890
70891 2000-01-30  Jim Meyering  <meyering@lucent.com>
70892
70893         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
70894         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
70895         header files where only utmpx.ut_user is declared.
70896
70897         * lib/readutmp.h (UT_USER): Define.
70898
70899 2000-01-29  Jim Meyering  <meyering@lucent.com>
70900
70901         * m4/lib-check.m4: New file containing library-related checks from
70902         fileutils and sh-utils (textutils had none).
70903
70904 2000-01-28  Jim Meyering  <meyering@lucent.com>
70905
70906         * m4/perl.m4: Change format of warning message to look more like that
70907         from the missing script.  Suggestion from François Pinard.
70908
70909 2000-01-25  Jim Meyering  <meyering@lucent.com>
70910
70911         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
70912         well as time.h in the compile check.
70913         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
70914         Fix typo in cross-compiling case: s/yes/no/.
70915
70916 2000-01-23  Jim Meyering  <meyering@lucent.com>
70917
70918         * m4/jm-macros.m4: Move df-related tests here from
70919         fileutils/configure.in
70920
70921         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
70922         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
70923
70924         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
70925         s/space/ac_fsusage_space/.
70926         (jm_FILE_SYSTEM_USAGE): Take two parameters.
70927
70928         * m4/ftruncate.m4: New file (derived from part of
70929         fileutils/configure.in).
70930         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
70931         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
70932
70933         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
70934         AC_SUBST these here, rather than just in sh-util/configure.in, so
70935         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
70936         all the same.
70937         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
70938         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
70939         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
70940         (AC_SUBST(POW_LIBM)): Likewise.
70941         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
70942
70943 2000-01-23  Jim Meyering  <meyering@lucent.com>
70944
70945         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
70946         obstack.c.
70947
70948 2000-01-22  Jim Meyering  <meyering@lucent.com>
70949
70950         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
70951
70952         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
70953
70954         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
70955         configure.in
70956         (AC_CHECK_HEADERS): Likewise for sh-utils.
70957         (AC_CHECK_HEADERS): Likewise for textutils.
70958         Merge the three lists of headers.
70959
70960         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
70961         from fileutils' configure.in.
70962
70963         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
70964         code. Moved tests into their own function (_jm_DECL_HEADERS) in
70965         check-decl.m4.
70966
70967         * m4/check-decl.m4: Use #if rather than #ifdef.
70968         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
70969         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
70970         (_jm_DECL_HEADERS): Define new function.
70971         (jm_CHECK_DECLARATIONS): Require it.
70972
70973 2000-01-22  Jim Meyering  <meyering@lucent.com>
70974
70975         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
70976         [! HAVE_DECL_STRTOULL]: Declare strtoull.
70977         Required for some AIX systems.  Reported by Christian Krackowizer.
70978         [TESTING] (main): New function.
70979
70980         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
70981         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
70982         letters.
70983
70984         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
70985         iswprint.
70986
70987         * lib/strverscmp.c (ISDIGIT): Define.
70988         (strverscmp): Use ISDIGIT, not isdigit.
70989
70990 2000-01-19  Jim Meyering  <meyering@lucent.com>
70991
70992         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
70993         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
70994         defines `struct timespec' in <sys/time.h>
70995
70996         * m4/c-bs-a.m4: Remove uses of changequote altogether.
70997         Thanks to Akim for explaining.
70998
70999 2000-01-17  Paul Eggert  <eggert@twinsun.com>
71000
71001         * lib/nanosleep.c (nanosleep):
71002         Don't use SA_INTERRUPT to decide whether to call sigaction, as
71003         POSIX.1 doesn't require SA_INTERRUPT and some systems
71004         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
71005         it's been part of POSIX.1 since day 1 (in 1988).
71006
71007 2000-01-17  Jim Meyering  <meyering@lucent.com>
71008
71009         * lib/interlock: Remove unused file.  Reported by François Pinard.
71010
71011 2000-01-16  Paul Eggert  <eggert@twinsun.com>
71012
71013         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
71014         alert, backslash, formfeed, and vertical tab unnecessarily in
71015         shell quoting style.
71016
71017 2000-01-16  Jim Meyering  <meyering@lucent.com>
71018
71019         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
71020         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
71021         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
71022         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
71023
71024 2000-01-16  Jim Meyering  <meyering@lucent.com>
71025
71026         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
71027         because the latter didn't work.
71028
71029 2000-01-15  Jim Meyering  <meyering@lucent.com>
71030
71031         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
71032         (AC_REPLACE_FUNCS): Add memcpy and memset.
71033         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
71034         Add strpbrk.
71035         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
71036
71037 2000-01-12  Jim Meyering  <meyering@lucent.com>
71038
71039         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
71040         (jm_PREREQ): Use it.
71041         (jm_PREREQ_READUTMP): New macro.
71042         (jm_PREREQ): Use it.
71043
71044 2000-01-11  Paul Eggert  <eggert@twinsun.com>
71045
71046         Quote multibyte characters correctly.
71047         * m4/c-bs-a.m4: New file.
71048         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
71049         (jm_PREREQ): Use it.
71050
71051 2000-01-11  Paul Eggert  <eggert@twinsun.com>
71052
71053         * m4/uintmax_t.m4: Port to autoconf 2.13.
71054
71055 2000-01-08  Jim Meyering  <meyering@ascend.com>
71056
71057         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
71058         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
71059
71060 2000-01-04  Jim Meyering  <meyering@ascend.com>
71061
71062         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
71063         jm_STRUCT_DIRENT_D_TYPE.
71064         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
71065         jm_STRUCT_DIRENT_D_INO.
71066         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
71067         jm_STRUCT_UTIMBUF.
71068         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
71069         renamings.
71070         * m4/utime.m4: Likewise.
71071
71072         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
71073         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
71074
71075 2000-01-03  Paul Eggert  <eggert@twinsun.com>
71076
71077         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
71078         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
71079
71080 2000-01-02  Jim Meyering  <meyering@ascend.com>
71081
71082         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
71083         remember if this is necessary.
71084
71085 1999-12-26  Jim Meyering  <meyering@ascend.com>
71086
71087         * m4/jm-macros.m4: Use it here.
71088         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
71089
71090 1999-12-23  Jim Meyering  <meyering@ascend.com>
71091
71092         * m4/jm-macros.m4: Check for clock_gettime (moved from
71093         fileutils/configure.in)
71094         Check for gettimeofday.
71095
71096 1999-12-20  Jim Meyering  <meyering@ascend.com>
71097
71098         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
71099         autoconf-2.14a-1999-12-20.
71100
71101 1999-12-19  Jim Meyering  <meyering@ascend.com>
71102
71103         * m4/lstat-slash.m4: New file.
71104         * m4/jm-macros.m4: Use the new macro:
71105         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
71106
71107 1999-12-07  Jim Meyering  <meyering@ascend.com>
71108
71109         * m4/perl.m4: Require that File::Compare be available, too.
71110         Too many systems seem to lack it.
71111
71112         * m4/strftime.m4: Add checks for most of the cpp macros tested in
71113         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
71114
71115 1999-11-18  Paul Eggert  <eggert@twinsun.com>
71116
71117         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
71118         problem with the QNX 4.25 shell, which doesn't propagate exit
71119         status of failed commands inside shell assignments.
71120
71121 1999-11-17  Jim Meyering  <meyering@ascend.com>
71122
71123         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
71124
71125 1999-11-07  Jim Meyering  <meyering@ascend.com>
71126
71127         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
71128
71129 1999-11-06  Jim Meyering  <meyering@ascend.com>
71130
71131         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
71132         * m4/jm-macros.m4 (jm_MACROS): Use it here.
71133
71134 1999-11-05  Jim Meyering  <meyering@ascend.com>
71135
71136         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
71137         configure.in of textutils, fileutils, and sh-utils into this one
71138         (shared between those packages) file.
71139         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
71140         AC_STRUCT_ST_BLKSIZE.
71141
71142 1999-11-03  Jim Meyering  <meyering@ascend.com>
71143
71144         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
71145         of AC_CHECK_TYPE checks includes unistd.h.
71146         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
71147         Suggestion from Akim Demaille.
71148
71149 1999-10-30  Jim Meyering  <meyering@ascend.com>
71150
71151         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
71152         m4-quoted string.
71153         * m4/ls-mntd-fs.m4: Likewise.
71154         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
71155         * m4/jm-winsz1.m4: Likewise.
71156
71157         * m4/const.m4: Remove file, since the fix made it into the experimental
71158         version of autoconf.
71159         * m4/mktime.m4: Likewise.
71160
71161         * m4/check-type.m4: Remove file, now that the latest version of
71162         AC_CHECK_TYPE takes a third arg to specify additional #includes.
71163
71164         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
71165         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
71166         AC_CHECK_TYPE.
71167
71168 1999-10-04  Jim Meyering  <meyering@ascend.com>
71169
71170         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
71171
71172 1999-09-22  Paul Eggert  <eggert@twinsun.com>
71173
71174         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
71175         2.95.1 bug with HP-UX 10.20.
71176
71177 1999-09-17  Jim Meyering  <meyering@ascend.com>
71178
71179         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
71180         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
71181         due to missing strdup (against sh-utils-2.0).
71182
71183 1999-08-29  Jim Meyering  <meyering@ascend.com>
71184
71185         * m4/jm-macros.m4: Require jm_BISON.
71186         * m4/bison.m4: New file.
71187
71188 1999-08-17  Paul Eggert  <eggert@twinsun.com>
71189
71190         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
71191         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
71192
71193 1999-08-05  Jim Meyering  <meyering@ascend.com>
71194
71195         * m4/getline.m4: Rename test file from conftestdata to conftest.data
71196         to avoid conflicts with `conftest' on 8+3 filesystems.
71197         Suggestion from Eli Zaretskii.
71198
71199 1999-08-04  Jim Meyering  <meyering@ascend.com>
71200
71201         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
71202         fileutils and sh-utils (textutils's getline test was inadequate).
71203         (AM_FUNC_GETLINE): Run this test.
71204         (AC_CHECK_FUNCS): Check for getdelim.
71205         Reported by Bob Proulx.
71206
71207 1999-08-02  Jim Meyering  <meyering@ascend.com>
71208
71209         * m4/jm-macros.m4: Add a comment.
71210
71211 1999-08-01  Paul Eggert  <eggert@twinsun.com>
71212
71213         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
71214         <inttypes.h> defines strtoumax as a macro (and not as a
71215         function).
71216
71217 1999-08-01  Paul Eggert  <eggert@twinsun.com>
71218
71219         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
71220         that we can shift, multiply and divide unsigned long long
71221         values; Ultrix cc can't do it.
71222
71223 1999-08-01  Paul Eggert  <eggert@twinsun.com>
71224
71225         * m4/mktime.m4: New file, which is a preview of what should appear
71226         in the next public autoconf release.
71227
71228 1999-08-01  Paul Eggert  <eggert@twinsun.com>
71229
71230         * m4/lfs.m4: Remove this file.
71231         * m4/largefile.m4: New file.  It contains the old contents of
71232         lfs.m4, except that all names with prefix AC_LFS have been
71233         changed to use the prefix AC_SYS_LARGEFILE instead, to be
71234         compatible with future autoconf versions.  Also, some minor m4
71235         quoting problems have been fixed.
71236
71237 1999-08-01  Paul Eggert  <eggert@twinsun.com>
71238
71239         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
71240         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
71241         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
71242         and simplify the shell code.
71243
71244 1999-08-01  Jim Meyering  <meyering@ascend.com>
71245
71246         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
71247         m4.
71248
71249 1999-07-20  Jim Meyering  <meyering@ascend.com>
71250
71251         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
71252
71253 1999-07-15  Jim Meyering  <meyering@ascend.com>
71254
71255         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
71256
71257 1999-05-22  Jim Meyering  <meyering@ascend.com>
71258
71259         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
71260
71261 1999-05-20  Jim Meyering  <meyering@ascend.com>
71262
71263         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
71264         Add a colon after each `then' in case $4 is empty.
71265
71266 1999-05-16  Jim Meyering  <meyering@ascend.com>
71267
71268         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
71269
71270 1999-05-10  Jim Meyering  <meyering@ascend.com>
71271
71272         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
71273
71274         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
71275         AC_FUNC_MKTIME.
71276
71277 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
71278
71279         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
71280
71281 1999-05-04  Paul Eggert  <eggert@twinsun.com>
71282
71283         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
71284         not CPPFLAGS, so that linking works correctly in IRIX.
71285
71286 1999-04-30  Paul Eggert  <eggert@twinsun.com>
71287
71288         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
71289
71290 1999-04-20  Paul Eggert  <eggert@twinsun.com>
71291
71292         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
71293         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
71294         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
71295         jm_AC_TYPE_UNSIGNED_LONG_LONG.
71296         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
71297
71298         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
71299
71300 1999-04-20  Jim Meyering  <meyering@ascend.com>
71301
71302         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
71303         AC_REPLACE xstroull if necessary.  From Paul Eggert.
71304         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
71305
71306 1999-04-18  Jim Meyering  <meyering@ascend.com>
71307
71308         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
71309         * m4/jm-macros.m4: Use it.
71310
71311 1999-04-06  Jim Meyering  <meyering@ascend.com>
71312
71313         * m4/strftime.m4: Remove test for %f.
71314
71315 1999-03-29  Jim Meyering  <meyering@ascend.com>
71316
71317         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
71318         superset of the AC_TYPE_* checks in the textutils, fileutils,
71319         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
71320         AC_TYPE_PID_T.
71321
71322 1999-03-28  Jim Meyering  <meyering@ascend.com>
71323
71324         * m4/jm-macros.m4: Define GNU_PACKAGE here.
71325         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
71326         replaced e.g., in the *.sh files of the sh-utils.
71327
71328 1999-03-20  Jim Meyering  <meyering@ascend.com>
71329
71330         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
71331         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
71332         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
71333
71334 1999-03-19  Jim Meyering  <meyering@ascend.com>
71335
71336         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
71337
71338 1999-03-12  Jim Meyering  <meyering@ascend.com>
71339
71340         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
71341
71342 1999-03-07  Jim Meyering  <meyering@ascend.com>
71343
71344         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
71345         declared.
71346
71347 1999-02-17  Jim Meyering  <meyering@ascend.com>
71348
71349         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
71350         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
71351
71352 1999-02-07  Jim Meyering  <meyering@ascend.com>
71353
71354         * m4/group-member.m4: New file -- extracted from sh-utils'
71355         configure.in.
71356
71357         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
71358         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
71359
71360 1999-02-06  Jim Meyering  <meyering@ascend.com>
71361
71362         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
71363         * m4/fnmatch.m4: Likewise.
71364         * m4/getgroups.m4: Likewise.
71365         * m4/lstat.m4: Likewise.
71366         * m4/malloc.m4: Likewise.
71367         * m4/putenv.m4: Likewise.
71368         * m4/realloc.m4: Likewise.
71369         * m4/regex.m4: Likewise.
71370         * m4/stat.m4: Likewise.
71371         * m4/strftime.m4: Likewise.
71372         Suggestion from Alain Magloire.
71373
71374         * m4/chown.m4: Use `.$ac_objext', not `.o'.
71375         * m4/fnmatch.m4: Likewise.
71376         * m4/getgroups.m4: Likewise.
71377         * m4/getline.m4: Likewise.
71378         * m4/lstat.m4: Likewise.
71379         * m4/malloc.m4: Likewise.
71380         * m4/memcmp.m4: Likewise.
71381         * m4/putenv.m4: Likewise.
71382         * m4/realloc.m4: Likewise.
71383         * m4/regex.m4: Likewise.
71384         * m4/stat.m4: Likewise.
71385         * m4/strftime.m4: Likewise.
71386         Suggestion from Alain Magloire.
71387
71388         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
71389         an argument.
71390
71391         * m4/regex.m4: Add a run-time Test for proper operation of
71392         re_compile_pattern.
71393
71394 1999-01-31  Jim Meyering  <meyering@ascend.com>
71395
71396         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
71397
71398 1999-01-30  Jim Meyering  <meyering@ascend.com>
71399
71400         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
71401
71402         * m4/jm-mktime.m4: Make this a wrapper around the official
71403         AM_FUNC_MKTIME rather than my private copy, now that the official one
71404         is up to date.
71405         * m4/mktime.m4: Remove file.
71406
71407         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
71408         * m4/uptime.m4: Likewise.
71409         * m4/uintmax_t.m4: Likewise.
71410
71411 1999-01-28  Jim Meyering  <meyering@ascend.com>
71412
71413         * m4/jm-macros.m4: Use jm_AFS.
71414         * m4/afs.m4: New file (from fileutils' configure.in).
71415
71416         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
71417         * m4/chown.m4: Likewise.
71418         * m4/d-ino.m4: Likewise.
71419         * m4/d-type.m4: Likewise.
71420         * m4/fnmatch.m4: Likewise.
71421         * m4/getgroups.m4: Likewise.
71422         * m4/gettext.m4: Likewise.
71423         * m4/jm-mktime.m4: Likewise.
71424         * m4/jm-winsz2.m4: Likewise.
71425         * m4/lcmessage.m4: Likewise.
71426         * m4/ls-mntd-fs.m4: Likewise.
71427         * m4/malloc.m4: Likewise.
71428         * m4/memcmp.m4: Likewise.
71429         * m4/putenv.m4: Likewise.
71430         * m4/realloc.m4: Likewise.
71431         * m4/st_mtim.m4: Likewise.
71432         * m4/strftime.m4: Likewise.
71433
71434 1999-01-16  Jim Meyering  <meyering@ascend.com>
71435
71436         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
71437         (ARGMATCH_DIE_DECL): Define.
71438
71439 1999-01-12  Jim Meyering  <meyering@ascend.com>
71440
71441         * m4/Makefile.am.in: Rewrite to avoid using fmt.
71442         Reported by Lars Hecking.
71443
71444 1999-01-10  Jim Meyering  <meyering@ascend.com>
71445
71446         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
71447         gross kludge.
71448         * m4/inttypes_h.m4: Likewise.
71449         * m4/lstat.m4: Likewise.
71450         * m4/malloc.m4: Likewise.
71451         * m4/readdir.m4: Likewise.
71452         * m4/realloc.m4: Likewise.
71453         * m4/st_dm_mode.m4: Likewise.
71454         * m4/stat.m4: Likewise.
71455         * m4/utimbuf.m4: Likewise.
71456         * m4/utimes.m4: Likewise.
71457
71458         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
71459         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
71460         comments in config.h.in are meaningful.
71461
71462         * m4/jm-macros.m4: Require autoconf-2.13 here.
71463
71464         * m4/regex.m4: By default, don't use the included regex.c on systems
71465         with glibc 2.  Suggestion from Uli Drepper.
71466
71467 1999-01-02  Jim Meyering  <meyering@ascend.com>
71468
71469         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
71470
71471 1998-12-18  Jim Meyering  <meyering@ascend.com>
71472
71473         * m4/Makefile.am.in (Makefile.am): Simplify rule.
71474         Based on a suggestion from Lars Hecking.
71475
71476 1998-11-16  Paul Eggert  <eggert@twinsun.com>
71477
71478         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
71479
71480 1998-11-16  Jim Meyering  <meyering@ascend.com>
71481
71482         * m4/lfs.m4: Double-quote the `uname...` expression.
71483
71484 1998-11-14  Jim Meyering  <meyering@ascend.com>
71485
71486         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
71487         * m4/stat.m4: Likewise.
71488
71489 1998-11-03  Jim Meyering  <meyering@ascend.com>
71490
71491         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
71492         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
71493
71494 1998-10-18  Jim Meyering  <meyering@ascend.com>
71495
71496         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
71497
71498 1998-10-17  Jim Meyering  <meyering@ascend.com>
71499
71500         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
71501         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
71502         calls for those previously hard-coded headers.  Instead, take a new
71503         parameter.
71504         (jm_CHECK_DECLARATIONS): Reflect interface change.
71505         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
71506         (jm_CHECK_DECL_LOCALTIME_R): New macro.
71507
71508         * m4/mktime.m4: Test for spring-forward gap before long-running test.
71509
71510 1998-10-14  Jim Meyering  <meyering@ascend.com>
71511
71512         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
71513         instead of "TZ=America/Vancouver".  From Paul Eggert.
71514
71515 1998-10-11  Jim Meyering  <meyering@ascend.com>
71516
71517         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
71518         This adds a test for a recently added compatibility fix for mktime.c.
71519         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
71520
71521 1998-09-27  Jim Meyering  <meyering@ascend.com>
71522
71523         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
71524
71525         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
71526         ../configure.in, including a change from Gordon Matzigkeit to allow
71527         cross-compiling for the Hurd.
71528
71529         * m4/glibc.m4: New file/macro to test for the GNU C Library
71530         versions 1 and 2.  From Gordon Matzigkeit.
71531         Indent.
71532
71533 1998-09-21  Jim Meyering  <meyering@ascend.com>
71534
71535         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
71536
71537 1998-08-18  Paul Eggert  <eggert@twinsun.com>
71538
71539         Port nanosecond-resolution times to UnixWare 2.1.2 and
71540         pedantic Solaris 2.6.
71541
71542         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
71543         AC_STRUCT_ST_MTIM.
71544         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
71545         Generate name of ns member, instead of just 1 or undef.
71546         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
71547
71548 1998-08-15  Jim Meyering  <meyering@ascend.com>
71549
71550         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
71551         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
71552         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
71553         instead of jm_TYPE_SSIZE_T.
71554
71555 1998-08-12  Jim Meyering  <meyering@ascend.com>
71556
71557         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
71558
71559 1998-08-02  Jim Meyering  <meyering@ascend.com>
71560
71561         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
71562         in acconfig.h manually.
71563
71564 1998-07-31  Paul Eggert  <eggert@twinsun.com>
71565
71566         * m4/st_mtim.m4: New file.
71567
71568 1998-07-28  Jim Meyering  <meyering@ascend.com>
71569
71570         * m4/utimes.m4: Undef stat.
71571
71572 1998-07-25  Jim Meyering  <meyering@ascend.com>
71573
71574         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
71575         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
71576
71577 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
71578
71579         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
71580         uid and gid actually remain unchanged.
71581
71582 1998-07-07  Jim Meyering  <meyering@ascend.com>
71583
71584         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
71585
71586 1998-07-04  Jim Meyering  <meyering@ascend.com>
71587
71588         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
71589         to prove that this macro can be used in packages without regex.c.
71590
71591 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
71592
71593         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
71594         is to be used.
71595
71596 1998-07-03  Jim Meyering  <meyering@ascend.com>
71597
71598         * m4/gettext.m4: Add -lintl if it's found to be necessary.
71599
71600         * m4/gettext.m4: New file -- from gettext-0.10.35.
71601         * m4/lcmessage.m4: Likewise.
71602         * m4/progtest.m4: Likewise.
71603
71604         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
71605         * m4/jm-macros.m4: Require the new macro.
71606
71607 1998-06-29  Jim Meyering  <meyering@ascend.com>
71608
71609         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
71610         for the definition of NGROUPS (used in a system header included
71611         by sys/mount.h).
71612
71613 1998-06-28  Jim Meyering  <meyering@ascend.com>
71614
71615         * m4/ls-mntd-fs.m4: New file.
71616         * m4/fstypename.m4: New file.
71617
71618         * m4/jm-macros.m4: Require the new macro.
71619         * m4/jm-glibc-io.m4: New file.
71620
71621 1998-05-19  Jim Meyering  <meyering@ascend.com>
71622
71623         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
71624         * m4/lchown.m4: New file.
71625
71626         * m4/Makefile.am.in: New file.
71627         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
71628
71629 1998-05-14  Jim Meyering  <meyering@ascend.com>
71630
71631         * m4/Makefile.am (EXTRA_DIST): Add them.
71632         * m4/jm-macros.m4: New file.
71633         * m4/utimbuf.m4: New file.
71634
71635 1998-05-12  Jim Meyering  <meyering@ascend.com>
71636
71637         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
71638
71639 1998-05-11  Jim Meyering  <meyering@ascend.com>
71640
71641         * m4/isc-posix.m4: New file.
71642
71643 1998-05-10  Jim Meyering  <meyering@ascend.com>
71644
71645         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
71646
71647 1998-05-09  Jim Meyering  <meyering@ascend.com>
71648
71649         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
71650         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
71651         with automake.
71652
71653         * m4/ssize_t.m4: New file.
71654         * m4/mktime.m4: Remove file -- the new automake has this now.
71655
71656 1998-04-26  Jim Meyering  <meyering@ascend.com>
71657
71658         * m4/assert.m4: New file.
71659         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
71660
71661 1998-04-05  Jim Meyering  <meyering@ascend.com>
71662
71663         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
71664         (jm_PREREQ): Use it here.
71665
71666 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
71667
71668         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
71669         in acconfig.h.
71670
71671 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
71672
71673         * m4/prereq.m4: New file.
71674         * m4/error.m4: New file.
71675         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
71676
71677 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
71678
71679         * m4/getline.m4: Don't set am_cv_func_working_getline before the
71680         cache-check for the same variable -- that defeated the purpose of
71681         the test; the test program was never run.  This was a problem only
71682         on systems with losing getline functions -- HP-UX 10.20 is one.
71683         Reported by Bjorn Helgaas.
71684
71685 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
71686
71687         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
71688
71689 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
71690
71691         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
71692
71693         * m4/const.m4: New file.  Use an initializer in this declaration
71694         typedef int charset[2]; const charset x;
71695         Reported by Bob Glickstein.
71696
71697 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
71698
71699         * m4/chown.m4: Fix reversed types on -1 args to chown.
71700         From Kaveh Ghazi.
71701
71702 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
71703
71704         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
71705         Add lseek and memchr.
71706
71707         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
71708         T.E.Dickey <dickey@clark.net> said that some older preprocessors
71709         have a 20-character limit on names.
71710
71711 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
71712
71713         * m4/inttypes_h.m4: New file.
71714         * m4/uintmax_t.m4: New file.
71715         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
71716
71717
71718         -----
71719
71720         Local Variables:
71721         coding: utf-8
71722         End:
71723
71724         Copyright (C) 1997-2010 Free Software Foundation, Inc.
71725
71726         Copying and distribution of this file, with or without
71727         modification, are permitted provided the copyright notice
71728         and this notice are preserved.